python.graphs

Go BackChange Paste Viewing Options
from sys import setrecursionlimit
 
setrecursionlimit(100000)
 
def dfs_repaint(field, i, j):
    field[i][j] = '.'
    a = [-1, 0, 0, 1]
    b = [0, -1, 1, 0]
    for k in range(4):
        if field[i + a[k]][j + b[k]] == '#':
            dfs_repaint(field, i + a[k], j + b[k])
 
 
n, m = map(int, input().split())
m += 2
field = ([['.' for i in range(m)]] + [list('.' + input() + '.') for i in range(n)] +
         [['.' for i in range(m)]])
n += 2
res = 0
 
for i in range(n):
    for j in range(m):py
        if field[i][j] == '#':
            res += 1
            dfs_repaint(field, i, j)
 
print(res)			
Go Back