-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1780.py
42 lines (39 loc) · 1.05 KB
/
1780.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def divide(N, matrix, cnt):
find = []
for i in matrix:
for j in i:
find.append(j)
if (len(set(find)) == 1):
if -1 in find:
cnt[0] += 1
elif 0 in find:
cnt[1] += 1
else:
cnt[2] += 1
return cnt
else:
if N==3:
for x in matrix:
for y in x:
if y==-1:
cnt[0] += 1
elif y==0:
cnt[1] += 1
else:
cnt[2] += 1
else:
res = [[] for _ in range(9)]
for k in range(3):
for i in range(N//3):
for j in range(3):
res[j+3*k].append(matrix[k*(N//3)+i][j*(N//3):j*(N//3)+N//3])
for x in res:
cnt = divide(N//3, x, cnt)
return cnt
N = int(input())
matrix = []
for x in range (N):
matrix.append(list(map(int, input().split(" "))))
res = divide(N, matrix, [0,0,0])
for x in res:
print(x)