您的位置:首页 > 其它

pku1125 Stockbroker Grapevine

2012-04-19 15:30 351 查看
求一个图中到其他点的最短路的最大值最小的点和这个值。

floyd一遍完事

View Code

program pku1125(input,output);
var
f:array[0..300,0..300] of longint;
n:longint;
procedure init;
var
i,j,s,x,y:longint;
begin
fillchar(f,sizeof(f),30);
for i:=1 to n do
begin
read(s);
for j:=1 to s do
begin
read(x,y);
f[i,x]:=y;
end;
readln;
end;
for i:=1 to n do
f[i,i]:=0;
end;{ init }
procedure main;
var
i,j,k:longint;
answer,max,people:longint;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if f[i,k]+f[k,j]<f[i,j] then
f[i,j]:=f[i,k]+f[k,j];
answer:=19950714;
for i:=1 to n do
begin
max:=0;
for j:=1 to n do
if (i<>j)and(f[i,j]>max) then
max:=f[i,j];
if max<answer then
begin
answer:=max;
people:=i;
end;
end;
writeln(people,' ',answer);
end;{ main }
begin
readln(n);
while n<>0 do
begin
init;
main;
readln(n);
end;
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: