讨论 / 为什么我的代码错了的 不是找最小路径吗?
sheng_1230 2008-08-08 18:24:00
点我顶贴 收藏 删除
program Project2;

var i,j,n,min,p,m,s:longint;

aa,b,c:longint;

search:array[1..1000]of longint;

a:array[1..1000,1..1000]of longint;

bo:array[1..1000]of boolean;

begin

while not eof do

begin

readln(n,m);

for i:=1 to n do

for j:=1 to n do

a[i,j]:=1000000;s:=0;

for i:=1 to m do

begin

read(aa,b,c);

a[aa,b]:=c;a[b,aa]:=c;

end;

for i:=1 to n do

begin search[i]:=a[1,i];bo[i]:=false;end;

bo[1]:=true;

for i:=1 to n-1 do

begin

min:=1000000;

for j:=1 to n do

if (not bo[j])and(search[j]<min) then

begin

min:=search[j];

p:=j;

end;

s:=s+min;

bo[p]:=true;

for j:=1 to n do

if (not bo[j])and(search[j]>a[p,j])then

search[j]:=a[p,j];

end;

writeln(s);

end;

end.

#1 binarie@2008-08-08 18:02:00
回复 删除
MST
#2 DarkMaster@2008-08-08 18:24:00
回复 删除
这题是最小生成树啊
查看更多回复
提交回复