首页 > 其他 > 详细

HDU 1879-继续畅通工程

时间:2016-07-30 22:20:25      阅读:120      评论:0      收藏:0      [点我收藏+]

原题链接:点击此处

1233的升级版(因为差不多所以都放一起了),就是加了一个状态,因此我们可以先判断每条路的状态,如果是修好的,就让它们的成本是0;如果没修,就给出成本。其余地方和1233一样,程序唯一的改动在此:

判断状态:

技术分享
for(i=1;i<=n;i++)
            {
                scanf("%d %d %d %d",&tree[i].u,&tree[i].v,&tree[i].len,&tree[i].build);
                if(tree[i].build==1)
                    tree[i].len=0;
            }
View Code

合并:

技术分享
 for(i=1;i<=n;i++)
        {
            int x=Find(tree[i].u);
            int y=Find(tree[i].v);
            if(x==y)
                continue;
            pre[y]=x;//这里是把x当作了整棵最小生成树的根节点,写成parent[x]=y也可以,根节点换成了y,这里的x,y值都不会大于村庄的编号
            cost+=tree[i].len;
            Unoin(tree[i].u,tree[i].v);
        }
View Code

其他程序看前一个文章吧,就不多说了。

HDU 1879-继续畅通工程

原文:http://www.cnblogs.com/gdvxfgv/p/5721823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!