문제풀이/기타
[파이썬] [분할정복] 백준 1992 쿼드트리
승무_
2022. 2. 23. 12:21
문제
https://www.acmicpc.net/problem/1992
1992번: 쿼드트리
첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또
www.acmicpc.net
코드
import sys
input=sys.stdin.readline
n=int(input())
array=[list(map(int, list(input().rstrip()))) for _ in range(n)]
result=[]
def make(n,movie):
count=0
global result
for i in range(n):
count+=sum(movie[i])
if count==0:
result.append("0")
elif count==n*n:
result.append("1")
else:
result.append("(")
temp=[movie[i][:n//2] for i in range(n//2)]
make(n//2,temp)
temp=[movie[i][n//2:] for i in range(n//2)]
make(n//2,temp)
temp=[movie[i][:n//2] for i in range(n//2,n)]
make(n//2,temp)
temp = [movie[i][n//2:] for i in range(n // 2, n)]
make(n // 2, temp)
result.append(")")
return "".join(result)
print(make(n,array))