Depth First Search

Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
4
1
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0,
dfs(0,
dfs(0,
dfs(0,
dfs(0,
0)
1)
2)
3)
4)
4
flow()
2
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
3
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
4
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 0) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
5
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 0) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
6
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 0) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
7
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 0) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
8
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 0) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
9
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
10
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
11
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 0)dfs(0, 3)
dfs(0, 4)
4
flow()
12
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0,
dfs(0,
dfs(0,
dfs(0,
dfs(0,
0)
1)
2)
3)
4)
4
flow()
13
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0,
dfs(0,
dfs(0,
dfs(0,
dfs(0,
0)
1)
2)
3)
4)
4
flow()
14
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
15
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
16
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
17
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
18
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
19
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
20
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(3, 2)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
21
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(3, 2)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
22
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(3, 2)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
23
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(3, 2)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
24
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(3, 2)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
25
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
26
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
27
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 1)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
28
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 1)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
29
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 1)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
30
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 1)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
31
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 1)
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
32
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(2, 2)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
33
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
34
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
35
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
36
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
37
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
38
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
39
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
40
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
41
Depth First Search
open site
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
42
Depth First Search
open site
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
43
Depth First Search
mark down right left up
open site
dfs(4, 4)
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
44
Depth First Search
mark down right left up
open site
dfs(4, 4)
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
45
Depth First Search
mark down right left up
open site
dfs(4, 4)
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
46
Depth First Search
mark down right left up
open site
dfs(4, 4)
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
47
Depth First Search
mark down right left up
open site
dfs(4, 4)
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
48
Depth First Search
open site
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
49
Depth First Search
open site
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
50
Depth First Search
open site
mark down right left up dfs(0, 0)
blocked site
reachable from top via open sites
dfs(3, 4)
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
51
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
52
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
53
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(2, 4)
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
54
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
55
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
56
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
dfs(1, 4)
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
57
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
58
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
mark down right left up
0
0
1
2
3
4
dfs(1, 3)
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
59
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
60
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
0
1
2
3
4
mark down right left up
1
2
3
dfs(1, 2) dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
61
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
62
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
63
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0, 0)
mark down right
left up
dfs(0, 1)
dfs(0, 2)
dfs(0, 2)dfs(0, 3)
dfs(0, 4)
4
flow()
64
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0,
dfs(0,
dfs(0,
dfs(0,
dfs(0,
0)
1)
2)
3)
4)
4
flow()
65
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
dfs(0,
dfs(0,
dfs(0,
dfs(0,
dfs(0,
0)
1)
2)
3)
4)
4
flow()
66
Depth First Search
open site
dfs(0, 0)
blocked site
reachable from top via open sites
0
1
2
3
4
0
1
2
3
4
flow()
67