여름의 서재

[백준] 1992_쿼드트리 본문

알고리즘/BOJ

[백준] 1992_쿼드트리

엉아_ 2021. 8. 12. 01:23
728x90
N = int(input())
matrix = []
answer = ''

for _ in range(N):
    matrix.append(list(map(int, str(input()))))

def quad_tree(x, y, n):
    global matrix,answer    
    temp = matrix[y][x]
    double_break = False
    
    for i in range(x, x+n):
        if double_break:
            break
            
        for j in range(y, y+n):
            if matrix[j][i] != temp:
                
                answer += "("
                quad_tree(x, y, n//2)
                quad_tree(x + n//2, y, n//2)
                quad_tree(x, y + n//2, n//2)
                quad_tree(x + n//2, y + n//2, n//2)
                answer += ")"
                
                double_break = True
                break
    
    if not double_break:
        if matrix[y][x] == 1:
            answer += '1'
        else:
            answer += '0'

quad_tree(0,0,N)
print(answer)

'알고리즘 > BOJ' 카테고리의 다른 글

[백준] 4949_균형잡힌 세상  (0) 2021.08.12
[백준] 2630_색종이 만들기  (0) 2021.08.12
[백준] 1931_회의실 배정  (0) 2021.08.12
[백준] 1927_최소 힙  (0) 2021.08.12
[백준] 1920_수 찾기  (0) 2021.08.12
Comments