백준 1992 쿼드트리 (분할정복)

맹민재·2023년 4월 8일
0

알고리즘

목록 보기
47/134
def dc(x, y, N):
    global result
    if N ==1:
        result += paper[x][y]
        return
    
    s = paper[x][y]
    for i in range(x, x+N):
        for j in range(y, y+N):
            if paper[i][j] != s:
                N = N//2
                result += '('
                dc(x, y, N)
                dc(x, y+N, N)
                dc(x+N, y, N)
                dc(x+N, y+N, N)
                result += ')'
                return
    result += s

n = int(input())
paper = [[0]*n for _ in range(n)]
for i in range(n):
    paper[i] = list(input())

result = ''
dc(0, 0, n)
print(result)

백준 색종이 만들기 문제와 매우 유사한 문제 색종이 만들기 문제를 풀 수 있다면 어렵지 않게 해결할 수 있는 문제이다.

profile
ㄱH ㅂrㄹ ㅈr

0개의 댓글