취준시절/백준
[백준 1780] Python - 종이의 개수
MAYMIN
2021. 8. 25. 16:34
728x90
SMALL
위의 그림처럼 쉽게 생각하면 가능 !!
import sys
input = sys.stdin.readline
n = int(input())
arr = list()
for _ in range(n):
arr.append(list(map(int,input().split())))
minus_one = 0
zero = 0
one = 0
def check(x,y,m):
global minus_one,zero,one
find_num=arr[x][y]
for i in range(x,x+m):
for j in range(y,y+m):
if arr[i][j]!=find_num:
find_num=-2
break
if find_num==-2:
check(x, y, m // 3)
check(x, y + m // 3, m // 3)
check(x, y + (m // 3) * 2, m // 3)
check(x + m // 3, y, m // 3)
check(x + m // 3, y + m // 3, m // 3)
check(x + m // 3, y + (m // 3) * 2, m // 3)
check(x + (m // 3) * 2, y, m // 3)
check(x + (m // 3) * 2, y + m // 3, m // 3)
check(x + (m // 3) * 2, y + (m // 3) * 2, m // 3)
if find_num==1:
one+=1
elif find_num==0:
zero+=1
elif find_num==-1:
minus_one+=1
check(0,0,n)
print(minus_one)
print(zero)
print(one)
728x90
LIST