An cut of a flow network partitions a flow network into , with source and sink . Its cut capacity is the sum of capacities of arcs directed from to ; a minimum cut minimizes this sum.
Use the suggested nodes. Give capacity , each capacity , and each capacity . By the max-flow min-cut theorem, a flow of value exists once every cut capacity is at least .
Consider a cut of a flow network containing no crossing arc of capacity , and let be the intersections on the sink side. Every street incident to must also be on that side, or its arc to an endpoint in would cross the cut of a flow network. Hence at least source-to-street arcs cross, as do the intersection-to-sink arcs from the other intersections. Therefore its cut capacity is at least
A cut of a flow network crossing a capacity- arc has still larger capacity. The cut of a flow network just before the sink has capacity , proving the maximum flow value is exactly .
The integral max-flow theorem supplies an integral maximum flow. Every intersection sends units to the sink; each street can supply at most one unit, assigned to one endpoint. Orient each assigned street away from its assigned endpoint. Orient unassigned streets arbitrarily. Then each vertex has at least outgoing streets. An Ford-Fulkerson algorithm with integer capacities constructs this flow and therefore the street directions. Notice that the condition also is necessary: outgoing streets from vertices in are distinct edges incident to , so . This is an outdegree orientation criterion.