3 × 3 · distance to nearest 0
0
0
0
0
·
0
·
·
·
queue · cells to expand
front →
(empty)
← backMulti-source BFS from all zeros
▸1dist = grid; mark 1-cells unknown2queue = all 0-cells // multi-source seed, distance 03ring = 04while queue not empty:5 ring++6 for each cell in this frontier:7 for each unknown neighbour:8 dist = ring; enqueue it9 queue = next frontier10return dist
state
- cells9