分部门

上下左右相邻为一个部门,输出部门数量

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
import sys
a = int(sys.stdin.readline().strip())
data = []
for i in range(a):
l = sys.stdin.readline().strip().split(' ')
data.append(l)
d = []
i = 0
print(data)
while i < a:
j = 0
while j < a:
if data[i][j] == '1':
print(data[i][j])
if d != []:
k = 0
while k < len(d):
if (i - 1, j) in d[k]:
d[k].append((i, j))
break
elif (i, j - 1) in d[k]:
d[k].append((i, j))
break
elif (i, j + 1) in d[k]:
d[k].append((i, j))
break
elif (i + 1, j) in d[k]:
d[k].append((i, j))
break
k += 1
if k==len(d):
d.append([(i, j)])
else:
d.append([(i, j)])
j += 1
i += 1
print(len(d))