畅通工程(hdu1863)并查集
畅通工程
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 13083 Accepted Submission(s): 5357
行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。为简单起见,村庄从1到M编号。当N为0时,全部输入结束,相应的结果不要输出。
#include<iostream> #include<cstdio> using namespace std;int father[1000],k;struct sum {int a;int b;int c; }num[10000];int cmp(const void *x,const void *y) //按长度从小到大快排, {return (*(sum *)x).c - (*(sum *)y).c; }int Find(int x)//找到x所在家族的祖先并路径上成员指向祖先 {return x==father[x] ? x : father[x]=Find(father[x]); }void Union(int x,int y,int i) {if(x!=y){father[x]=y;k=k+num[i].c;} }int main() {int m,n,i;while(scanf("%d%d",&m,&n),m){for(i=0;i<=n;i++)father[i]=i;for(i=0;i<m;i++)scanf("%d%d%d",&num[i].a,&num[i].b,&num[i].c);qsort(num,m,sizeof(num[0]),cmp);//排序不要忘了for(i=0,k=0;i<m;i++)Union(Find(num[i].a),Find(num[i].b),i);int t=0;for(i=1;i<=n;i++)if(father[i]==i)t++;if(t!=1)printf("?\n");elseprintf("%d\n",k);}return 0; }/* 3 3 1 2 1 2 3 4 1 3 2 1 3 2 3 2 0 100*/
畅通工程。。。真的很畅通啊!!!
转载于:https://www.cnblogs.com/yuyixingkong/p/3294835.html
畅通工程(hdu1863)并查集相关推荐
- 【HDU - 1863】 畅通工程(并查集+最小生成树)
题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...
- HDU1232 畅通工程【并查集】
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdu1232 畅通工程 (并查集)(浙师大OJ1307)
题目:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互 ...
- hdu1232畅通工程(并查集)
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...
- HDOJ 畅通工程 1232(并查集入门)
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Hdu1232 畅通工程 【并查集】
http://acm.hdu.edu.cn/showproblem.php?pid=1232 题目大意:有几个集合,问最少需要连几根线才能把这些集合并为一个集合. N个集合的话就需要N-1条路就行了, ...
- [ACM] hdu 1232 畅通工程(并查集)
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...
- hdu 1232 畅通工程 最小生成树 并查集
1232的连接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 #include <iostream>#include <cstdio& ...
- 畅通工程(并查集 C++)
[题目描述] 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1232 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省 ...
- HDU1232——通畅工程(并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=1232 这道题是学习并查集的第一道题. 并查集,他的思路是构成一个树结构,如果这两个节点的根节点相同,那么说明这两 ...
最新文章
- go get 获取被墙依赖包解决方法
- docker开启远程访问_Ubuntu安装Jupyter notebook——开启远程访问
- Centos 6.2部署CSVN服务器
- Android之BroadcastReceiver的使用
- 2600: [Ioi2011]ricehubh
- MySQL 字符串分割 SUBSTRING_INDEX函数
- 修改Fiddler实用插件JsonViewer
- Linux更改文件及目录权限问题
- java接口作为参数_java-如何强制将通用类型参数作为接口?
- 六、K8s pod相关操作(2)
- IPEmotion 2022 R1支持ARINC 429数据总线标准
- vue省市区遍历数据
- 关于pthread_cancel()的运用,取消点的理解
- 语音识别——语言模型
- android 8.0 ps 命令,全网最全adb命令 - osc_8exjk9uk的个人空间 - OSCHINA - 中文开源技术交流社区...
- 像windows一样给Mac os重装系统
- python定义字符串_Python定义字符串、循环
- 广告营销DSP和DMP概念解释
- java展示树形结构的两种方式
- java 创建word文件_Java 创建Word