hdu 1223 minimum spanning tree
来源:互联网 发布:淘宝网家居装饰品 编辑:程序博客网 时间:2024/05/06 23:18
用kruskal 来了一发,卧槽,排序的时候把边的数目和点的数目搞混了,又wrong了
#include<bits/stdc++.h>using namespace std;int cot;int n;int sum;struct edge{int x;int y;int w;}a[100005];int fa[1056];void init(){int i;for(i=1;i<=n;i++)fa[i]=i;return ;}int findd(int x){int s;for(s=x;s!=fa[s];s=fa[s]);int tmp;while(s!=x){tmp=fa[x];fa[x]=s;x=tmp;}return s;}bool cmp(edge a,edge b){return a.w<b.w;}void Union(edge he){int r1=findd(he.x);int r2=findd(he.y);if(r1!=r2){cot++;sum+=he.w;fa[r1]=r2;}return ;}void kruskal(){int i;init();sort(a,a+n*(n-1)/2,cmp);//一开始用的n,wrong还不知道怎么回事for(i=0;i<n*(n-1)/2;i++){Union(a[i]);if(cot==n-1)break;}return;}int main(){std::ios::sync_with_stdio(false);while(cin>>n){if(n==0)break;cot=0;sum=0;int i,j,k;int x,y,z;for(i=0;i<n*(n-1)/2;i++){cin>>x>>y>>z;a[i].x=x;a[i].y=y;a[i].w=z;}kruskal();cout<<sum<<endl;}}
0 0
- hdu 1223 minimum spanning tree
- HDU-4408-Minimum Spanning Tree
- hdu 4408 Minimum Spanning Tree
- Minimum Spanning Tree
- Minimum Spanning Tree SPOJ
- hdu 4408 Minimum Spanning Tree 最小生成树计数
- HDU 4408 - Minimum Spanning Tree(最小生成树计数)
- HDU 4408 Minimum Spanning Tree(最小生成树计数)
- HDU 4408 Minimum Spanning Tree(最小生成树计数)
- Prim’s Minimum Spanning Tree
- 《Boost》Part1 Minimum Spanning Tree
- [Lintcode] 629. Minimum Spanning Tree
- 最小生成树(minimum spanning tree)
- Kruskal Algorithm for Minimum Spanning Tree
- HDU4408 Minimum Spanning Tree (图论)
- 最小生成树-Minimum Spanning Tree
- MST(Kruskal’s Minimum Spanning Tree Algorithm)
- Kruskal’s Minimum Spanning Tree Algorithm
- iOS开发网络篇—文件下载(二·合理)
- 版本分类
- Weka算法Classifier-tree-J48源码分析(四)总结
- linux 系统优化tcp连接
- C++中定义全局变量要注意的地方
- hdu 1223 minimum spanning tree
- 自定义网页字体
- OpenCV 2.x + SVM线性不可分处理
- Windows下用VC6.0编译Lua源码 生成静态库和动态链接库
- Linux: fd_set用法
- ios开发经典问题汇总
- Vector类的用法
- SGU - 112 - ab-ba (大数高精度)
- iOS开发网络篇—文件下载(三·进度条)