반응형
https://www.acmicpc.net/problem/2448
/*
BOJ_2448_별찍기
https://www.acmicpc.net/problem/2448
*/
#include <stdio.h>
#define MAX 3 * (1 << 10) // 최대 크기 설정
char arry[MAX][MAX]; // 출력 배열
// 삼각형을 생성하는 재귀 함수
void triangle(int top, int y_start, int len) {
if (len == 3) { // 기저 조건: 삼각형의 최소 크기
// 작은 삼각형 모양 그리기
arry[y_start][top] = '*';
arry[y_start + 1][top - 1] = '*';
arry[y_start + 1][top + 1] = '*';
arry[y_start + 2][top - 2] = '*';
arry[y_start + 2][top - 1] = '*';
arry[y_start + 2][top] = '*';
arry[y_start + 2][top + 1] = '*';
arry[y_start + 2][top + 2] = '*';
return;
}
// 상부 삼각형 (하나)
triangle(top, y_start, len / 2);
// 하부 삼각형 (두 개)
triangle(top - len / 2, y_start + len / 2, len / 2); // 좌측 하단
triangle(top + len / 2, y_start + len / 2, len / 2); // 우측 하단
}
int main() {
int N;
scanf("%d", &N);
// 배열 초기화
for (int i = 0; i < N; i++) {
for (int j = 0; j < 2 * N - 1; j++) {
arry[i][j] = ' ';
}
}
// 삼각형 그리기
triangle(N - 1, 0, N);
// 출력
for (int i = 0; i < N; i++) {
for (int j = 0; j < 2 * N - 1; j++) {
printf("%c", arry[i][j]);
}
printf("\n");
}
return 0;
}
반응형
'Computer Science > 알고리즘 문제 (실패)' 카테고리의 다른 글
C - [시간초과 백준 14500] 테트로미노(feat. BFS, DFS, 시뮬레이션) (0) | 2025.01.11 |
---|---|
C - [회전 설계 실패 백준 15683] 감시 (0) | 2025.01.09 |
C - [요구사항 미달 백준 2178] 아기상어 (feat. BFS) (0) | 2025.01.06 |
C - [설계실패 백준 1941] 소문난 칠공주 (feat. 백트래킹, DFS) (0) | 2025.01.03 |