| ||||||||||
| 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