-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLakeCounting.py
33 lines (30 loc) · 1.21 KB
/
LakeCounting.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
field = [
['W', '.', '.', '.', '.', '.', '.', '.', '.', 'W', 'W', '.'],
['.', 'W', 'W', 'W', '.', '.', '.', '.', '.', 'W', 'W', 'W'],
['.', '.', '.', '.', 'W', 'W', '.', '.', '.', 'W', 'W', '.'],
['.', '.', '.', '.', '.', '.', '.', '.', '.', 'W', 'W', '.'],
['.', '.', '.', '.', '.', '.', '.', '.', '.', 'W', '.', '.'],
['.', '.', 'W', '.', '.', '.', '.', '.', '.', 'W', '.', '.'],
['.', 'W', '.', 'W', '.', '.', '.', '.', '.', 'W', 'W', '.'],
['W', '.', 'W', '.', 'W', '.', '.', '.', '.', '.', 'W', '.'],
['.', 'W', '.', 'W', '.', '.', '.', '.', '.', '.', 'W', '.'],
['.', '.', 'W', '.', '.', '.', '.', '.', '.', '.', 'W', '.'],
]
def lake_counting(n, m):
count = 0
for i in range(n):
for j in range(m):
if field[i][j] == "W":
count += 1
is_face_water(n, m, i, j)
print(count)
def is_face_water(n, m, i, j):
field[i][j] = "."
for x in range(-1, 2):
for y in range(-1, 2):
nx = i + x
ny = j + y
if (nx >= 0 and nx < n and ny >= 0 and ny < m and\
field[nx][ny] == "W"):
is_face_water(n, m, nx, ny)
print(lake_counting(len(field), len(field[0])))