-
[백준] 1992. 쿼드트리코테 준비/분할정복 2023. 1. 9. 04:22
색종이 문제랑 똑같은데 출력 형식만 다름
n=int(input()) graph=[[0]*n for _ in range(n)] for i in range(n): graph[i]=list(map(int,input())) result=[] def quad_tree(n,div_graph): global result one_num=0 for i in range(n): one_num+=sum(div_graph[i]) if one_num==0: result.append(0) elif one_num==n**2: result.append(1) else: result.append('(') divide=[div_graph[i][:n//2] for i in range(n//2)] #사각형 네개로 나눴을 때 왼쪽 위 quad_tree(n//2,divide) divide=[div_graph[i][n//2:] for i in range(n//2)] #오른쪽 위 quad_tree(n//2,divide) divide=[div_graph[i][:n//2] for i in range(n//2,n)] # 왼쪽 아래 quad_tree(n//2,divide) divide=[div_graph[i][n//2:] for i in range(n//2,n)] # 오른쪽 아래 quad_tree(n//2,divide) result.append(')') quad_tree(n,graph) for i in result: print(i,end='')
'코테 준비 > 분할정복' 카테고리의 다른 글
[백준] 1074. Z (다시 풀기) (0) 2023.01.15 [백준] 1780. 종이의 개수 / 파이썬(Python) (0) 2023.01.09 분할정복 문제를 푸는 방법 (0) 2023.01.09 [백준] 2630. 색종이 만들기 (0) 2023.01.09