하다보니

2630번-색종이 만들기 본문

알고리즘 풀이/백준

2630번-색종이 만들기

claire 2022. 2. 18. 10:36
'''
다양한 크기의 정사각형 하얀색 또는 파란색 색종이를 만들려고 한다.
잘린 종이가 모두 하얀색이나 파란색으로 칠해져있거나 하나의 정사각형 칸이
되어 더이상 자를 수 없을 때까지 반복. 
'''
n=int(input())
board=[]
num=[0]*2
def check(x,y,n):
    for i in range(x,x+n):
        for j in range(y,y+n):
            if board[x][y]!=board[i][j]:return False
    return True
def func(x,y,z):
    if check(x,y,z):
        num[board[x][y]]+=1
        return
    n=z//2
    for i in range(2):
        for j in range(2):
            func(x+i*n,y+j*n,n)
for _ in range(n):
    board.append(list(map(int,input().split())))

func(0,0,n)
for i in num:
    print(i)

'알고리즘 풀이 > 백준' 카테고리의 다른 글

3986번-좋은 단어  (0) 2022.03.07
3986번-균형 잡힌 세상  (0) 2022.03.07
6593번-상범 빌딩  (0) 2022.02.17
1780번-종이의 개수  (0) 2022.02.16
3015번-오아시스 재결합  (0) 2022.02.16