收藏本页
联系我们
论坛帮助

>> 关于竞赛设计的各种算法,欢迎大家到此讨论
趣题之家信息学竞赛算法艺术 → [更正]最小生成树

  发表一个新帖子  发起一个新投票  回复本主题 您是本帖的第 1263 个阅读者
  标题:[更正]最小生成树 平板   打印   收藏   推荐  
     帅哥哟,离线,有人找我吗?
    
    
    等级:管理员
    威望:50
    文章:291
    积分:669
    注册:2003-05-18
 QQ 给趣题之主发送一个短消息 把趣题之主加入好友 查看趣题之主的个人资料 搜索趣题之主在的所有贴子 点击这里发送电邮给趣题之主 访问趣题之主的主页引用回复这个贴子 回复这个贴子 楼主
发贴心情 [更正]最小生成树
{最小生成树}
var f:text;
    n:integer;
    cost:array [1..100,1..100] of integer;
    visited:array [1..100] of boolean;

procedure init;
var i,j:integer;
  begin
    assign(f,'graphjz.txt');
    reset(f);
    read(f,n);
    for i:=1 to n do
      for j:=1 to n do
        read(f,cost[i,j]);
    close(f);
  end;


procedure prim;
var closest,lowcost:array [1..100] of integer;
    i,j:integer;
    min,minj:integer;
begin
    for i:=2 to n do
     begin
       lowcost:=cost[1,i];
       closest:=1;
     end;
    lowcost[1]:=1000;
    for i:=2 to n do
     begin
       min:=1000;
       for j:=1 to n do
        if (lowcost[j]<min) and (lowcost[j]<>0)  then
         begin
           min:=lowcost[j];
           minj:=j;
         end;
       writeln(minj,' ',closest[minj],' ',min);
       lowcost[minj]:=1000;

       for j:=2 to n do
        if ((lowcost[j]>cost[minj,j]) or (lowcost[j]=0)) and (lowcost[j]<>1000) and (cost[minj,j]<>0) then
         begin
          lowcost[j]:=cost[minj,j];
          closest[j]:=minj;
         end;
     end;
end;
begin
   init;
   prim;
   readln;
end.
发贴IP已设置保密 2003-10-02 16:58
       



网上贸易 创造奇迹! 阿里巴巴 Alibaba

Powered By Dvbbs Version 7.1.0
Copyright ©2003 - 2006 QTHome.Org
页面执行时间 00.68750 秒, 5 次数据查询
本论坛采用阿里巴巴支付宝网上银行支付系统,安全、可靠、便捷