Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
大牛来帮忙看看,bellman-ford为什么会wapascal的 program xxxxxx; var n,w,m:longint; d:array[1..1000,1..1000]of longint; f:array[1..1000]of longint; i,j,k,a,b,t,bj,ff:longint; bb:boolean; begin readln(ff); for k:=1 to ff do begin bb:=false; readln(n,m,w); for i:=1 to m do begin read(a,b,t); d[a,b]:=t; d[b,a]:=t; end; for i:=1 to w do begin read(a,b,t); d[a,b]:=-t; end; for i:=2 to n do f[i]:=d[1,i]; for t:=1 to n-1 do begin bj:=0; for i:=1 to n do for j:=1 to n do if (i<>j)and(d[i,j]<>0)and(f[i]<>0) then if (d[i,j]+f[i]<f[j])or(f[j]=0) then begin bj:=1; f[j]:=f[i]+d[i,j]; end; if bj=0 then break; end; for i:=1 to n do for j:=1 to n do if f[i]+d[i,j]<f[j] then bb:=true; if bb then writeln('YES') else writeln('NO'); end; end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator