작은 지식주머니
백준 파이썬 1780 종이의 개수 본문
https://www.acmicpc.net/problem/1780
1780번: 종이의 개수
N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수
www.acmicpc.net

배열 전체를 탐색하면서 첫 체크와 다른숫자가 나오면 9등분시켜서 재귀로 탐색한다.
import sys
n=int(input())
s=[list(map(int,sys.stdin.readline().split())) for i in range(n)]
minus=0
zero=0
one=0
def search(x,y,n):
global minus,zero,one
check=s[x][y]
for i in range(x,x+n):
for j in range(y,y+n):
if s[i][j] != check:
for k in range(3):
for h in range(3):
search(x+k*(n//3),y+h*(n//3),n//3)
return
if check == -1:
minus += 1
elif check == 0:
zero += 1
elif check == 1:
one += 1
search(0,0,n)
print(minus)
print(zero)
print(one)
'백준 python 기록' 카테고리의 다른 글
백준 10971 파이썬 외판원 순환2 (0) | 2021.10.14 |
---|---|
백준 10451 파이썬 순열 사이클 (0) | 2021.10.13 |
백준 파이썬 7562 나이트의 이동 (0) | 2021.09.25 |
백준 파이썬 7576 토마토 (0) | 2021.09.24 |
백준 파이썬 2178 미로 탐색 (1) | 2021.09.23 |