https://www.acmicpc.net/problem/2448
문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (k ≤ 10) |
code >>
#include<iostream>
char stars[3072][6144];
void Star(const int& x , const int& y, const int& N)
{
if (N == 3)
{
stars[y][x] = '*';
stars[y + 1][x - 1] = '*';
stars[y + 1][x + 1] = '*';
stars[y + 2][x - 2] = '*';
stars[y + 2][x - 1] = '*';
stars[y + 2][x] = '*';
stars[y + 2][x + 1] = '*';
stars[y + 2][x + 2] = '*';
return;
}
Star(x, y, N / 2);
Star(x - N / 2, y + N / 2, N / 2);
Star(x + N / 2, y + N / 2, N / 2);
}
int main()
{
std::ios::ios_base::sync_with_stdio(false);
int N = 6;
std::cin >> N;
for (int i = 0; i < N; i++)
{
for (int ii = 0; ii < N * 2 - 1; ii++)
stars[i][ii] = ' ';
}
Star(N - 1, 0, N);
for (int i = 0; i < N; i++)
{
printf("%s", stars[i]);
printf("\n");
}
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
1786>찾기 (0) | 2018.11.26 |
---|---|
11062>카드 게임 (0) | 2018.11.19 |
4367>셀프 넘버 (0) | 2018.10.21 |
1931>회의실배정 (0) | 2018.10.20 |
3665>최종순위 (0) | 2018.10.20 |