Hikenny25
1992 - 쿼드트리 본문
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
def divide(arr):
l = len(arr) // 2
print('(', end='')
for i in [0,l]:
for j in [0,l]:
quadtree([row[j:j+l] for row in arr[i:i+l]])
print(')', end='')
def quadtree(matrix):
l = len(matrix)
value = [[matrix[0][0]] * l for _ in range(l)]
if value == matrix:
print(value[0][0], end='')
else:
divide(matrix)
n = int(input())
video = [list(map(int, input().rstrip())) for _ in range(n)]
quadtree(video)
쉬운 분할정복법 문제이다
1. 같은 수인지 확인
2-1. 같다면 그 수 출력
2-2. 다르면 분할
괄호 위치는 알잘딱깔센하게 넣어주면 됨
'baekjoon (solved.ac) > class 3 Solve' 카테고리의 다른 글
7576 - 토마토 (1) | 2022.11.01 |
---|---|
5525 - IOIOI (2) | 2022.10.31 |
1389 - 케빈 베이컨의 6단계 법칙 (0) | 2022.10.31 |
1697 - 숨바꼭질 (0) | 2022.10.31 |
2178 - 미로 탐색 (0) | 2022.10.30 |
Comments