Sherry 2008-06-26 08:29:00
点我顶贴
收藏
删除
const maxn=100;
n=20;
var g:array[1..maxn,1..maxn] of longint;
v,e,i,j,x,min:longint;
procedure jiantu;
begin
read(v,e);
fillchar(g,sizeof(g),126);
for x:=1 to e do
begin
read(i,j,g[i,j]);
g[j,i]:=g[i,j];
end;
end;
procedure prim(v0:longint);
var bjh,djh:array[1..n] of longint;
i,k,j,ans:longint;
begin
ans:=0;
for i:=1 to v do
begin
bjh[i]:=g[v0,i];
djh[i]:=v0;
end;
for i:=1 to v-1 do
begin
min:=32767;
for j:=1 to v do
if (bjh[j]<min)and(bjh[j]<>0)
then begin
min:=bjh[j];
k:=j;
end;
ans:=ans+min;
bjh[k]:=0;
g[djh[k],k]:=0;
g[k,djh[k]]:=0;
for j:=1 to v do
if (g[k,j]<bjh[j]) then begin
bjh[j]:=g[k,j];
djh[j]:=k;
end;
end;
write(ans);
end;
begin
jiantu;
prim(1);
end.
错的希奇古怪