DSA Crash Course
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)


# =============================================================================