全部runtime ?求大佬讲解py
查看原帖
全部runtime ?求大佬讲解py
1259509
Cui_qust楼主2024/3/16 23:05

n, m = map(int, input().split())

vis = [[0] * (m+1) for _ in range(n+1)] dir = [(1, 0), (-1, 0), (0, 1), (0, -1)] ans = 0

a=[0]*(n+1)

for i in range(1,n+1): a[i]=[0]+list(map(int,input()))

def dfs(x, y):

vis[x][y] = 1
for i in range(4):
    nx, ny = x + dir[i][0], y + dir[i][1]
    if 0 < nx <=n and 0 < ny <= m and a[nx][ny] != 0 and vis[nx][ny] == 0:
        dfs(nx, ny)

for i in range(1,n+1): for j in range(1,m+1): if a[i][j] != 0 and vis[i][j] == 0: ans += 1 dfs(i, j)

print(ans)

2024/3/16 23:05
加载中...