Templates
Template: 8. DFS on Grid — Flood Fill / Island Counting
Mark when done:
8. DFS on Grid — Flood Fill / Island Counting
# =============================================================================
def dfs_grid(grid, r, c, visited):
rows, cols = len(grid), len(grid[0])
if r < 0 or r >= rows or c < 0 or c >= cols:
return
if (r, c) in visited or grid[r][c] == 0:
return
visited.add((r, c))
for dr, dc in [(0, 1), (0, -1), (1, 0), (-1, 0)]:
dfs_grid(grid, r + dr, c + dc, visited)
# =============================================================================