1992-四叉木
7449 ワード
📚 1992-四叉木
四叉木
理解する
左上:1番
右上:2番
左下:3番
右下:4番(0, 0)
座標から始まります.
全体4等分、1番から確認します.
1
、出力圧縮結果が
0
であると、出力が出力.(
を出力して再帰呼び出しを行う.//2
である.これをd
と呼ぶと、(d, x, y)
(d, x + d, y)
(d, x, y + d)
(d, x + d, y + d)
分け与える.(対応する空間結果は、再帰呼び出しによって得られる.)ソース
import sys
read = sys.stdin.readline
n = int(read())
arr = []
for _ in range(n):
arr.append(list(map(int, read().strip())))
def quad_tree(c_size, x, y):
if c_size == 1:
print(arr[x][y], end="")
return
check = False
for i in range(x, x + c_size):
for j in range(y, y + c_size):
if arr[i][j] != arr[x][y]:
check = True
break
if check:
break
if not check:
print(arr[x][y], end="")
else:
c_size //= 2
print("(", end="")
quad_tree(c_size, x, y)
quad_tree(c_size, x, y + c_size)
quad_tree(c_size, x + c_size, y)
quad_tree(c_size, x + c_size, y + c_size)
print(")", end="")
quad_tree(n, 0, 0)
# 참고 : https://dojinkimm.github.io/problem_solving/2020/01/08/boj-1992_quadtree.html
採点結果
注意:https://dojinkimm.github.io/problem_solving/2020/01/08/boj-1992_quadtree.html
Reference
この問題について(1992-四叉木), 我々は、より多くの情報をここで見つけました https://velog.io/@chang626/1992-쿼드트리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol