본문 바로가기

PS

백준 BOJ 2447 C++ 별 찍기 - 10

#include <bits/stdc++.h>
using namespace std;

char board[2187][2187];

void func(int n, int x, int y) {
    if (n == 1) {
        board[x][y] = '*';
        return;
    }
    int part_size = n / 3;
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 3; ++j) {
            if (i == 1 && j == 1) continue;
            func(part_size, x + i * part_size, y + j * part_size);
        }
    }
}

void solve() {
    memset(board, ' ', sizeof(board));
    int n;
    cin >> n;
    func(n, 0, 0);
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            cout << board[i][j];
        }
        cout << '\n';
    }
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}

'PS' 카테고리의 다른 글

백준 BOJ 15649 C++ [N과 M (1)]  (1) 2026.04.22
백준 BOJ 2448 C++ 별 찍기 - 11  (0) 2026.04.22
백준 BOJ 1780 C++ 종이의 개수  (1) 2026.04.22
백준 BOJ 1074 C++ Z  (0) 2026.04.22
백준 BOJ 11967 C++ 불켜기  (0) 2026.04.17