8 条题解
-
0
from collections import deque n = int(input()) grid = [list(map(int, input().split())) for _ in range(n)] count = 0 # 上下左右四个方向 dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)] for i in range(n): for j in range(n): if grid[i][j] == 1: count += 1 q = deque([(i, j)]) grid[i][j] = 0 # 标记为已访问 while q: x, y = q.popleft() for dx, dy in dirs: nx, ny = x + dx, y + dy if 0 <= nx < n and 0 <= ny < n and grid[nx][ny] == 1: grid[nx][ny] = 0 q.append((nx, ny)) print(count)
信息
- ID
- 33
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 443
- 已通过
- 185
- 上传者