취준시절/백준

[백준 2630] Python - 색종이 만들기

MAYMIN 2021. 8. 25. 16:31
728x90
SMALL

위 그림을 보면 이해 쉽게 가능 ^__^

저렇게 잘라가며 재귀함수 쓰면 끄읕 !

n = int(input())

arr = list()

for _ in range(n):
    arr.append(list(map(int,input().split())))

white=0
blue=0
def check(x,y,m):
    color = arr[x][y]
    global white,blue
    for i in range(x,x+m):
        for j in range(y,y+m):
            if color!=arr[i][j]:
                check(x,y,m//2)
                check(x, y+m//2, m // 2)
                check(x+m//2, y, m // 2)
                check(x+m//2, y+m//2, m // 2)
                return
    if color==0:
        white+=1
    else:
        blue+=1

check(0,0,n)
print(white)
print(blue)

 

 

728x90
LIST