728x90
풀이
입력받은 N을 이용해 정사각형을 분할하면서 전부다 1 또는 0일때까지 탐색을 하면 된다.
소스코드
#include <stdio.h>
int paper[128][128], w, b;
void color(int x, int y, int n){
int cnt = 0;
for (int i = x; i < x+n; i++)
for (int j = y; j < y+n; j++)
paper[i][j] && cnt++;
if (cnt == n*n) b++;
else if (!cnt) w++;
else {
color(x, y, n/2);
color(x, y+n/2, n/2);
color(x+n/2, y, n/2);
color(x+n/2, y+n/2, n/2);
}
}
int main(){
int N;
scanf("%d", &N);
for (int i = 0; i < N*N; i++)
scanf("%d", &paper[i/N][i%N]);
color(0, 0, N);
printf("%d\n%d", w, b);
}
출처
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 1764] 듣보잡 [C/C++] (0) | 2021.08.06 |
---|---|
[백준 1260] DFS와 BFS [C] (0) | 2021.08.05 |
[백준 1026] 보물 [C] (0) | 2021.08.05 |
[백준 1541] 잃어버린 괄호 [C] (0) | 2021.08.04 |
[백준 10953] A+B - 6 [C] (0) | 2021.08.04 |