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 |
我去,floyd竟然0ms,更诡异的是我数组开10*10竟然AC了!以下是诡异代码 忘记改数组大小竟然AC了!而且是0ms 改了100*100就32ms了…… program poj1125; const maxn=10;//这太神奇了 maxlongint=1000000; var a:array[1..maxn,1..maxn] of longint; n,i,j,d,x,y,max,min,mini:longint; procedure floyd; var i,j,k:longint; begin for k:=1 to n do for i:=1 to n do for j:=1 to n do if (a[i,k]+a[k,j]<a[i,j]) then a[i,j]:=a[i,k]+a[k,j]; end; begin readln(n); while n<>0 do begin fillchar(a,sizeof(a),0); for i:=1 to n do for j:=1 to n do if (i<>j) then a[i,j]:=maxlongint else a[i,j]:=0; for i:=1 to n do begin read(d); for j:=1 to d do begin read(x,y); a[i,x]:=y; end; end; floyd; min:=maxlongint; mini:=0; for i:=1 to n do begin max:=0; for j:=1 to n do if a[i,j]>max then max:=a[i,j]; if (max<>maxlongint) and (max<min) then begin min:=max; mini:=i; end; end; if min<>maxlongint then writeln(mini,' ',min) else writeln('disjoint'); readln(n); end; end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator