# 2630: 색종이 만들기 <분할 정복>
n = int(input())
matrix = []
for _ in range(n) :
matrix.append(list(map(int, input().split())))
result = []
# Divided-and-Conquer
def DC(n, x, y) :
color = matrix[x][y]
for i in range(x, x+n) :
for j in range(y, y+n) :
if color != matrix[i][j] :
DC(n // 2, x+(n // 2), y)
DC(n // 2, x, y+(n // 2))
DC(n // 2, x+(n // 2), y+(n // 2))
DC(n // 2, x, y)
return
if color == 0 :
result.append(0)
else :
result.append(1)
DC(n, 0, 0)
print(result.count(0))
print(result.count(1))
'매일매일 (Everyday)' 카테고리의 다른 글
[BOJ] 브루트 포스 - 분해합 - Python (0) | 2021.12.22 |
---|---|
[BOJ] 이분 탐색 - 수찾기 - Python (0) | 2021.12.17 |
[BOJ] 백트래킹 - N과 M (1) 문제 - Python (0) | 2021.12.17 |
[BOJ] 정렬 - 값 / 좌표압축 문제 - Python (0) | 2021.12.15 |
[BOJ] - 브루트 포스 - (1) - Python (0) | 2021.12.15 |