codevs1993 草地排水(最大流)

2022-04-30 20:51:13 字數 1352 閱讀 3894

最近學了最大流,於是去codevs找了幾道最大流裸題(這是我第一次寫網路流)。

題目大意:求乙個圖的最大流(就是這樣的裸題)

第一次a網路流的題,發個部落格紀念一下。

var

n,m,i,j,k,h,t,x,y,z,ans:longint;

a:array[0..410,0..410]of

longint;

q,l:

array[0..510]of

longint;

function

dfs(now,p:longint):longint;

vari,ll:longint;

begin

if now=n then

exit(p);

for i:=1

to n do

if(l[now]+1=l[i])and(a[now,i]>0)then

begin

if a[now,i]>p then ll:=dfs(i,p)

else ll:=dfs(i,a[now,i]);

a[now,i]:=a[now,i]-ll; a[i,now]:=a[i,now]+ll;

if ll>0

then

exit(ll);

end;

exit(0);

end;

begin

read(m,n);

for i:=1

to m do

begin

read(x,y,z);

a[x,y]:=a[x,y]+z;

end; ans:=0;

while true do

begin

for i:=1

to n do

l[i]:=0

; h:=1; t:=1; q[1]:=1; l[1]:=1

;

repeat

for i:=1

to n do

if(l[i]=0)and(a[q[h],i]>0)then

begin

inc(t); q[t]:=i; l[i]:=l[q[h]]+1

;

end;

inc(h);

until h>t;

if l[n]=0

then

break;

repeat

k:=dfs(1

,maxint);

ans:=ans+k;

until k=0;

end;

writeln(ans);

end.

view code

codevs 1993草地排水

農夫約翰知道每一條排水溝每分鐘可以流過的水量,和排水系統的準確布局 起點為水潭而終點為小溪的一張網 需要注意的是,有些時候從一處到另一處不只有一條排水溝。根據這些資訊,計算從水潭排水到小溪的最大流量。對於給出的每條排水溝,雨水只能沿著乙個方向流動,注意可能會出現雨水環形流動的情形。輸入描述 inpu...

CODEVS 1993 草地排水

題目描述 description 農夫約翰知道每一條排水溝每分鐘可以流過的水量,和排水系統的準確布局 起點為水潭而終點為小溪的一張網 需要注意的是,有些時候從一處到另一處不只有一條排水溝。根據這些資訊,計算從水潭排水到小溪的最大流量。對於給出的每條排水溝,雨水只能沿著乙個方向流動,注意可能會出現雨水...

codevs1993 草地排水(最大流)

usaco 時間限制 2 s 空間限制 256000 kb 題目等級 鑽石 diamond 農夫約翰知道每一條排水溝每分鐘可以流過的水量,和排水系統的準確布局 起點為水潭而終點為小溪的一張網 需要注意的是,有些時候從一處到另一處不只有一條排水溝。根據這些資訊,計算從水潭排水到小溪的最大流量。對於給出...