HDU 1233 还是畅通工程
来源:互联网 发布:美国艾绿床垫 知乎 编辑:程序博客网 时间:2024/06/06 03:29
还是畅通工程
Time Limit: 2000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u
Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
Output
对每个测试用例,在1行里输出最小的公路总长度。
Sample Input
31 2 11 3 22 3 441 2 11 3 41 4 12 3 32 4 23 4 50
Sample Output
35
Hint
Hint Huge input, scanf is recommended.
分析:最小生成树kruskal算法
#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>using namespace std;struct edge{ int u,v,cost; bool operator < (const edge &w)const//将权值由小到大排序 { return cost < w.cost; }}a[5000];int n,m;int p[110];int find(int x)//并查集查找{ while(x != p[x]) { x = p[x]; } return x;}int kruskal(){ sort(a,a + m);//排序 for(int i = 1;i <= n;i++)//并查集初始化 p[i] = i; int ans = 0;//结果初始化为0 for(int i = 0;i < m;i++) { int x = find(a[i].u); int y = find(a[i].v); if(x != y)//如果不在一个连通分量 { ans += a[i].cost;//将权值加入结果中 p[x] = y;//合并连通分量 } } return ans;}int main(){ while(scanf("%d",&n)) { if(n == 0) break; m = n * (n - 1) / 2; for(int i = 0;i < m;i++) { scanf("%d %d %d",&a[i].u,&a[i].v,&a[i].cost); } printf("%d\n",kruskal()); } return 0;}
0 0
- hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程
- hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程
- hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程
- hdu 1233 还是畅通工程
- hdu - 1233 - 还是畅通工程
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程
- HDU-1233-还是畅通工程
- HDU-1233-还是畅通工程
- iperf - perform network throughput tests
- Java 如何有效地避免内存溢出:善于利用软引用和弱引用
- 第三方支付平台:微信支付接口
- 在windows 8.1上升级Chrome浏览器到最新版
- Android面试必过——Android常见的问题
- HDU 1233 还是畅通工程
- Android官方提供的支持不同屏幕大小的全部方法
- iOS开发大神必备的Xcode插件
- 104. Maximum Depth of Binary Tree
- 通过IMAP方式迁移U-Mail邮件到Exchange 2013之Exchange 2007 升级到Exchange 2013!
- js的String变量的用法,对jquery的append的一种替代方式
- Elasticsearch入门教程之一--基本概念
- 【leetcode】Palindrome Pairs
- jquery ajax 中的dataType