4 × 4 grid as a graph
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
Flood DFS on a grid
▸1dfs(r, c):2 mark visited[r][c] = true3 for (dr, dc) in [up, down, left, right]:4 nr, nc = r+dr, c+dc5 if out of bounds: skip6 if visited[nr][nc]: skip7 dfs(nr, nc) // recurse8 return // backtrack9dfs(startR, startC)
state
- rows4
- cols4
- neighbours4-directional