๋ฌธ์
https://www.acmicpc.net/problem/1992
1992๋ฒ: ์ฟผ๋ํธ๋ฆฌ
์ฒซ์งธ ์ค์๋ ์์์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ์ซ์ N ์ด ์ฃผ์ด์ง๋ค. N ์ ์ธ์ ๋ 2์ ์ ๊ณฑ์๋ก ์ฃผ์ด์ง๋ฉฐ, 1 ≤ N ≤ 64์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ๋ ๊ธธ์ด N์ ๋ฌธ์์ด์ด N๊ฐ ๋ค์ด์จ๋ค. ๊ฐ ๋ฌธ์์ด์ 0 ๋
www.acmicpc.net
ํ์ด
n = int(input())
tree = [list(map(int,(input()))) for _ in range(n)]
result = []
def quad_tree(x,y,n):
global result
color = tree[x][y]
for i in range(x, x+n):
for j in range(y, y+n):
if color != tree[i][j]: # ๋ฒ์์์ ํ๊ฐ๋ผ๋ ๋ค๋ฅธ๊ฒฝ์ฐ๋ 4๋ถ๋ฉด์ผ๋ก ๋๋ ์ ๋ค์ ๊ฒ์
result.append("(") # 4๋ถ๋ฉด์ผ๋ก ๋๋๋ ๊ดํธ๋ฅผ ์น๋ค.
quad_tree(x,y,n//2)
quad_tree(x, y+n//2, n//2)
quad_tree(x+n//2, y, n//2)
quad_tree(x+n//2, y+n//2, n//2)
result.append(")")
return
result.append(color) # ์ฌ๊ท๋ก ์๋ค์ด๊ฐ๊ณ for๋ฌธ์ด ์ ๋ถ ๋ค ๋๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ๋ฒ์์์ ๋ชจ๋ ์๊ฐ ๊ฐ๋ค๊ณ ๋ณผ ์ ์๋ค.
quad_tree(0,0,n)
print("".join(map(str,(result))))
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] [Class3] 5252๋ฒ_IOIOI (0) | 2022.11.11 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] [Class4] 1991๋ฒ_ํธ๋ฆฌ ์ํ (0) | 2022.11.11 |
๐ฉ [๋ฐฑ์ค] [Python] [Class3] 1697๋ฒ_์จ๋ฐ๊ผญ์ง (0) | 2022.11.10 |
๐ฉ [๋ฐฑ์ค] [Python] [Class3] 1389๋ฒ_์ผ๋น ๋ฒ ์ด์ปจ์ 6๋จ๊ณ ๋ฒ์น (0) | 2022.11.10 |
๐ฉ [๋ฐฑ์ค] [Python] 12865๋ฒ_ํ๋ฒํ ๋ฐฐ๋ญ (0) | 2022.11.09 |