求最小生成树中最长的一段
program poj2485;
var
a:array[1..500,1..500] of longint;
d,closed:array[1..500] of longint;
flag:array[1..500] of boolean;
p,q,ans,n:longint;
procedure init;
var
i,j:integer;
begin
fillchar(a,sizeof(a),0);
readln;
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
read(a[i,j]);
readln;
end;
end;
procedure prim;
var
i,j,k,min:longint;
begin
fillchar(flag,sizeof(flag),true);
flag[1]:=false;
for i:=1 to n do
begin
d[i]:=a[1,i];
closed[i]:=1;
end;
for i:=1 to n-1 do
begin
min:=maxlongint;
for j:=1 to n do
if (d[j]<min) and flag[j] then
begin
min:=d[j];
k:=j;
end;
flag[k]:=false;
for j:=1 to n do
if (a[j,k]<d[j]) and flag[j] then
begin
d[j]:=a[j,k];
closed[j]:=k;
end;
end;
ans:=-maxlongint;
for i:=2 to n do
if ans<a[i,closed[i]] then ans:=a[i,closed[i]];
writeln(ans);
end;
begin
readln(p);
for q:=1 to p do
begin
init;
prim;
end;
end.