Saya pikir berikut ini adalah algoritma waktu polinomial berdasarkan aliran maksimum. Biarkan menjadi input.G ( V, E) , b , c
- Membangun diarahkan bipartit grafik dengan L dan R menjadi partisi kiri dan kanan dan F menjadi tepi diarahkan dari L ke R .H( L , R , F)L.RF L.R
- Biarkan . Ada n simpul di L dan n simpul di R .| V| =nnL.nR
- Setiap simpul memiliki "salinan" di L (katakanlah v l ) dan salinan di R (katakanlah v r ).v ∈ VL.vlRvr
- Jika menambahkan tepi terarah dari u l ke v r . Setiap sisi tersebut memiliki kapasitas 1.( u , v ) ∈ Ekamulvr
- Tambahkan "sumber" simpul dan menambahkan tepi diarahkan dari s ke setiap sudut di L . Setiap tepi memiliki kapasitas b .ssL.b
- Tambahkan "wastafel" simpul dan tambahkan tepi terarah dari setiap simpul di R ke t . Setiap tepi tersebut memiliki kapasitas c .tRtc
- Temukan aliran maksimum dari ke t .st
Grafik diberikan memiliki solusi jika dan hanya jika aliran maksimum yang dihitung di atas menjenuhkan setiap sisi dari s ke L , yaitu, aliran pada setiap tepi dari s ke L sama dengan b .GsL.sL.b