매일매일 (Everyday)
[BOJ] 분할정복 - 색종이 만들기 - Python
apdo
2021. 12. 17. 23:11
# 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))