HDU 1233 还是畅通工程 [最小生成树]
来源:互联网 发布:仓管员用什么软件 编辑:程序博客网 时间:2024/06/18 06:33
Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
当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.
题目大意:有n个点, 有(n*(n-1))/ 2 条边, 求最小生成生树 , 就数据上而言还是prim快一些;不过我用的kruskal
AC代码:
<strong>#include <iostream> #include <cstdio> #include <algorithm> #include <cstring>#include <cmath>using namespace std ;struct node {int u , v , w ;}E[10000];int n , m , pre[10000] , sum ;int cmp (node a , node b ){return a.w < b.w ; }int find (int x ){if(pre[x]!=x) return pre[x] = find(pre[x]);return x ;}void add ( int i , int x , int y ){int dx = find(x) , dy = find(y);if(dx!=dy){pre[dy] = dx ;sum+=E[i].w;}}int kruskal(){for(int i = 1 ; i<=m ; i++){int dx = E[i].u , dy = E[i].v ;add(i,dx,dy);}return sum ; }int main(){while(cin>>n,n){sum = 0 ;for(int i = 1 ; i<=n ; i++) pre[i] = i ;m = (n*(n-1))/2;for(int i = 1 ; i<=m ; i++) cin>>E[i].u>>E[i].v>>E[i].w;sort(E+1,E+1+m,cmp);cout<<kruskal()<<endl;}return 0 ;} </strong>
0 0
- hdu 1233 还是畅通工程(Prim最小生成树)
- hdu 1233 还是畅通工程(最小生成树Kruskal)
- hdu 1233 还是畅通工程(最小生成树)
- hdu 1233 最小生成树 "还是畅通工程"
- hdu 1233 还是畅通工程--最小生成树prim
- HDU 1233 还是畅通工程 最小生成树
- hdu 1233 还是畅通工程【最小生成树入门】
- HDU 1233 还是畅通工程---prim求最小生成树
- hdu 1233 还是畅通工程(最小生成树)
- HDU-1233 还是畅通工程 最小生成树Prime
- HDU 1233 还是畅通工程(最小生成树)
- [ACM] hdu 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程(最小生成树)
- hdu 1233 还是畅通工程(图论:最小生成树)
- HDU 1233 还是畅通工程 最小生成树入门
- HDU 1233 还是畅通工程(最小生成树入门)
- HDU 1233 还是畅通工程 最小生成树
- Linux冷门却很重要的命令(五)---exec
- js数组与字符串的相互转化
- Android NDK环境搭建及JNI开发java和C的相互调用的基本介绍
- 非递归的fib与找出无重复的两个数
- Java对Excel(03,07)进行上传、解析、验证、入库
- HDU 1233 还是畅通工程 [最小生成树]
- The specified child already has a parent.You must call removeView() on the child's parent first问题
- 第一个博文
- yii2获取用户get,post参数
- Android Launcher加载so库问题
- Android WheelView自定义续更
- Odd Even Linked List
- UIApplicationMain
- 【数据结构】线性表的顺序存储完整程序