还是畅通工程(1233 并查集+kruskal)
还是畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 34391 Accepted Submission(s): 15542
当N为0时,输入结束,该用例不被处理。
Hint
Huge input, scanf is recommended.
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 using namespace std; 5 #define Max 100000 6 int par[Max]; 7 int n; 8 struct edge 9 { 10 int v,u,cost; 11 }es[10000]; 12 void init() 13 { 14 for(int i=0;i<Max;i++) 15 par[i]=i; //每个节点的根节点都是自己本身 16 } 17 int find(int x) 18 { 19 if(par[x]==x) 20 return x; 21 else 22 return par[x]=find(par[x]); //找父节点 23 } 24 void unite(int x,int y) 25 { 26 int x0=find(x); 27 int y0=find(y); 28 if(x0==y0) 29 return; 30 else 31 par[x0]=y0; 32 } 33 bool same(int x,int y) 34 { 35 return find(x)==find(y); 36 } 37 bool cmp(edge a,edge b) 38 { 39 return a.cost<=b.cost; 40 } 41 int main() 42 { 43 int i,j; 44 freopen("in.txt","r",stdin); 45 while(scanf("%d",&n)&&n) 46 { 47 init(); 48 int sum=0; 49 for(i=0;i<n*(n-1)/2;i++) 50 scanf("%d%d%d",&es[i].v,&es[i].u,&es[i].cost); 51 sort(es,es+n*(n-1)/2,cmp); 52 for(i=0;i<n*(n-1)/2;i++) 53 { 54 edge e=es[i]; 55 if(!same(e.v,e.u)) 56 { 57 sum+=e.cost; 58 unite(e.v,e.u); 59 } 60 } 61 printf("%d\n",sum); 62 } 63 64 }
转载于:https://www.cnblogs.com/a1225234/p/5041160.html
还是畅通工程(1233 并查集+kruskal)相关推荐
- HDOJ 畅通工程 1232(并查集入门)
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 【HDU - 1863】 畅通工程(并查集+最小生成树)
题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...
- HDU1232 畅通工程【并查集】
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdu1232 畅通工程 (并查集)(浙师大OJ1307)
题目:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互 ...
- hdu1232畅通工程(并查集)
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...
- 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 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省 ...
最新文章
- java哪个软件编程好学吗_java好学吗?java是不是最难学的语言?
- __attribute__ 总结
- php框架 css文件引用,yii框架中怎么引入css文件
- mysql数据迁移 脚本_PHP将数据从Oracle向Mysql数据迁移实例
- 在Socket做服务器,在手机上用Http访问
- 微信小程序 navigateTo 传对象参数
- Javascript获取文件自身URL路径
- mysql 5.6.4以上版本innodb支持全文索引的测试
- 查询类网站或成站长淘宝客新金矿
- 面试官系统精讲Java源码及大厂真题 - 26 惊叹面试官:由浅入深手写队列
- android 源码中的单例,Android源码中的一种单例实现
- 大约HR升级版的设计为组汇总
- docker安装消息队列延时插件
- iOS的四种持久化存储
- 使用Xdebug调试和优化PHP程序[3]
- 智云健康上市在即:长期亏损,美年健康俞熔已退出,未来难言乐观
- php去除emoji,php去除emoji表情
- 激光电视是否真护眼?中首清算为您剖析
- UI设计行业领域知识体系
- 为什么局域网IP通常以192.168开头而不是1.2或者193.169?
热门文章
- 我所遇到的C++连接问题汇总
- saltstack/salt的state.sls的使用
- Python中知识点笔记
- 要看懂OpenCV的代码,所需要的C和C++的基础知识
- SpringCloud Eureka初体验
- oracle json 搜索,oracle 正则查询json返回报文中某个字段的值
- linux内核网络协议栈--linux bridge(十九)
- KVM中I/O虚拟化介绍(五)
- java中char占的二进制,java数据类型与二进制详细介绍
- axios vue 回调函数_Vue 02 —— Vue 入门小案例~使用 Axios 中的GET、POST请求