| 1 | Check cell (0,0) | (0,0) | {} | 0 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 2 | Found land and unvisited, increment count | (0,0) | {(0,0)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 3 | DFS explore neighbors from (0,0) | (0,0) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 4 | Check cell (0,1) | (0,1) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 5 | Already visited, skip | (0,1) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 6 | Check cell (0,2) | (0,2) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 7 | Water cell, skip | (0,2) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 8 | Check cell (2,2) | (2,2) | {(0,0),(0,1),(1,0),(1,1)} | 1 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 9 | Found land and unvisited, increment count | (2,2) | {(0,0),(0,1),(1,0),(1,1),(2,2)} | 2 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 10 | DFS explore neighbors from (2,2) | (2,2) | {(0,0),(0,1),(1,0),(1,1),(2,2)} | 2 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 11 | Check cell (3,3) | (3,3) | {(0,0),(0,1),(1,0),(1,1),(2,2)} | 2 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 12 | Found land and unvisited, increment count | (3,3) | {(0,0),(0,1),(1,0),(1,1),(2,2),(3,3)} | 3 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 13 | DFS explore neighbors from (3,3) | (3,3) | {(0,0),(0,1),(1,0),(1,1),(2,2),(3,3)} | 3 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |
| 14 | All cells checked | - | {(0,0),(0,1),(1,0),(1,1),(2,2),(3,3)} | 3 | 1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 |