讨论 / 一个灵异的没见过的错误
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.

错的希奇古怪

查看更多回复
提交回复