2018. 1. 7. 14:44, 알고리즘/BOJ
https://www.acmicpc.net/problem/2447
프랙탈 모양입니다. void solve(int N, int x, int y) 함수를 x, y에 크기 N짜리 주어진 모양을 그리는 함수(실제로는 전역변수 map에 값을 저장하는 함수)라고 한다면, N=1일 때는 자명하게 map[x][y] = '*'; 입니다.
N이 1이 아닐 때에는 직접 모양을 생각할 필요 없이,
solve(N/3, x, y);
solve(N/3, x+N/3, y);
solve(N/3, x+2*N/3, y);
solve(N/3, x, y+N/3);
solve(N/3, x+2*N/3, y+N/3);
solve(N/3, x, y+2*N/3);
solve(N/3, x+N/3, y+2*N/3);
solve(N/3, x+2*N/3, y+2*N/3);
을 부르면 끝입니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 11778번: 피보나치 수와 최대공약수 (0) | 2018.01.07 |
---|---|
[BOJ] 10220번: Self Representing Seq (0) | 2018.01.07 |
[BOJ] 12796번: 나의 행렬곱셈 답사기 (0) | 2018.01.07 |
[BOJ] 2263번: 트리의 순회 (0) | 2018.01.07 |
[BOJ] 6549번: 히스토그램에서 가장 큰 직사각형 (0) | 2018.01.07 |
[BOJ] 7469번: K번째 숫자 (0) | 2018.01.07 |
Comments