반응형
-풀이
import sys
input = sys.stdin.readline
N=int(input())
paper = [list(map(int, input().split())) for i in range(N)]
minus = 0
zero = 0
plus = 0
def cut(x,y,n):
global minus, zero, plus
check = paper[x][y]
for i in range(x, x+n):
for j in range(y, y+n):
if paper[i][j] != check:
for k in range(3):
for l in range(3):
cut(x+n//3*k, y+n//3*l, n//3)
return
if check == 1:
plus += 1
elif check == 0:
zero += 1
elif check == -1:
minus += 1
cut(0,0,N)
print(minus)
print(zero)
print(plus)
-풀이 설명
3x3칸 중에 다른 값이 들어있다면, 3x3전부를 탐색하여 plus, zero, minus 개수를 세주면 해결완료.
'알고리즘' 카테고리의 다른 글
[백트래킹,순열] 15649파이썬 (N과 M (1)) 실버3 (0) | 2022.01.04 |
---|---|
[백트래킹,조합] 1759 파이썬 (암호 만들기) 골드5 (0) | 2022.01.03 |
[구현] 백준 1541 파이썬 (잃어버린 괄호) 실버2 (0) | 2022.01.01 |
[수학] 백준 1024 파이썬 (수열의 합) 실버2 (0) | 2021.12.31 |
[수학] 백준 1011 파이썬 (Fly me to the Alpha Centauri) 골드5 (0) | 2021.12.30 |