BOJ 2448 별 찍기-11

 
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <functional>

typedef long long int ll;
using namespace std;
#define INF 1234567890
#define N 200000

const int LIMIT = 1e+9;
int n, m;
char s[4000][7000];

void solve(int n, int x, int y) {
	if (n == 3) {
		s[y][x] = '*';
		s[y+1][x-1] = '*';
		s[y+1][x+1] = '*';
		s[y+2][x-2] = '*';
		s[y+2][x-1] = '*';
		s[y+2][x] = '*';
		s[y+2][x+1] = '*';
		s[y+2][x+2] = '*';
		return;
	}
	solve(n / 2, x, y);
	solve(n / 2, x - (n / 2), y + (n / 2));
	solve(n / 2, x + (n / 2), y + (n / 2));
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	cin >> n;

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < 2 * n - 1; j++) {
			if (j == 2 * n - 1) {
				s[i][j] = '\0';
			}
			else {
				s[i][j] = ' ';
			}
		}
	}
	solve(n, n - 1, 0);

	for (int i = 0; i < n; i++) {
		cout << s[i] << "\n";
	}

	return 0;
}



별 찍기 - 11

시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 18409 6991 4878 36.539%

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, …) (k ≤ 10)

출력

첫째 줄부터 N번째 줄까지 별을 출력한다.

예제 입력 1

24

예제 출력 1

                       *                        
                      * *                       
                     *****                      
                    *     *                     
                   * *   * *                    
                  ***** *****                   
                 *           *                  
                * *         * *                 
               *****       *****                
              *     *     *     *               
             * *   * *   * *   * *              
            ***** ***** ***** *****             
           *                       *            
          * *                     * *           
         *****                   *****          
        *     *                 *     *         
       * *   * *               * *   * *        
      ***** *****             ***** *****       
     *           *           *           *      
    * *         * *         * *         * *     
   *****       *****       *****       *****    
  *     *     *     *     *     *     *     *   
 * *   * *   * *   * *   * *   * *   * *   * *  
***** ***** ***** ***** ***** ***** ***** *****

출처