poj1258(最小生成树Kruscal)
来源:互联网 发布:复杂网络 计算机 编辑:程序博客网 时间:2024/06/05 11:59
#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<cmath>#include<cstring>#define For(i,j,k) for(i=j;i<=k;i++)using namespace std;const int maxx=101;struct node{ int x,y,data;}a[maxx*maxx];int n,sum,m,fathe[maxx];int cmp(const node &a,const node &b){ if (a.data<b.data) return 1; else return 0;}int findfa(int x){ if (fathe[x]!=x) fathe[x]=findfa(fathe[x]); return fathe[x];}void uni(int x,int y){ int fa=findfa(x); int fb=findfa(y); if (fa!=fb) fathe[fa]=fb;}int main(){ int i,j; while (scanf("%d",&n)!=EOF) { int ttt; m=0; For(i,1,n) For(j,1,n) {cin>>ttt;if (i!=j) {a[++m].x=i;a[m].y=j;a[m].data=ttt;}} sum=0; sort(a+1,a+m,cmp); int kkk=0; For(i,1,n) fathe[i]=i; For(i,1,m) { if (findfa(a[i].x)!=findfa(a[i].y)) { uni(a[i].x,a[i].y); sum+=a[i].data; kkk++; } if (kkk==n-1) break; } printf("%d\n",sum); } return 0;}
1 0
- poj1258(最小生成树Kruscal)
- POJ1258->最小生成树
- poj1258 最小生成树
- poj1258(最小生成树)
- 最小生成树 Kruscal
- 最小生成树~kruscal
- 最小生成树-kruscal
- poj1258 最小生成树krus
- poj1258 prim最小生成树
- poj1258 最小生成树 普林姆
- POJ1258 基础最小生成树
- POJ1258简单最小生成树
- poj1258 prim最小生成树
- poj1258(最小生成树)
- poj1258(最小生成树Prim)
- POJ1258 最小生成树 水题
- 最小生成树(Prim)poj1258
- poj1258 最小生成树,prim
- poj1088(记忆化搜索)
- 第一周 项目0 宣告“主权”
- iOS开发:APPicon、LunchImage及LunchScreen的使用
- poj1190(搜索剪枝)
- BZOJ 1500 splay
- poj1258(最小生成树Kruscal)
- HIT1004
- 软件开发思考
- IOS定位第三方框架LocationManager-master
- 脑上访问一个网页,整个过程是怎么样的
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- codeforce C. Learning Languages(并查集)
- 杨辉三角 经典问题
- uva 12100 Printer Queue