Hdu1863 - 畅通工程 - 最小生成树
2014-07-27 14:48
281 查看
#include<stdio.h> #include<algorithm> using namespace std; int p[10000]; struct tree { int st,ed,va; }road[10000]; int cmp(tree a,tree b) { return a.va<b.va; } int find(int n) { if(p !=n) { p =find(p ); } return p ; } int main() { int n,m,count,i,a,b; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0) { break; } for(i=1;i<=m;i++) { p[i]=i; } for(i=1;i<=n;i++) { scanf("%d%d%d",&road[i].st,&road[i].ed,&road[i].va); } sort(road+1,road+n+1,cmp); int sum=0; for(i=1;i<=n;i++) { a=find(road[i].st); b=find(road[i].ed); if(a!=b) { p[a]=b; sum+=road[i].va; m--; } if(m==1) { break; } } if(m==1) { printf("%d\n",sum); } else { puts("?"); } } }
相关文章推荐
- HDU1863_畅通工程【Prim】【并查集】
- hdu 1863 畅通工程
- HDU~1863~畅通工程
- HDU 1863 畅通工程(最小生成树)
- HDU 1863 畅通工程(最小生成树prim算法)
- 【HDU 1863】畅通工程
- hdu 1863 畅通工程 基础最小生成树★
- hdu1863-畅通工程 最小生成树的并查集实现方法
- HDU 1863 畅通工程 最小生成树
- HDU 1863 畅通工程(最小生成树 kruskal算法)
- HDU 1863 畅通工程
- HDU 1863 畅通工程
- 【hdu 1863】畅通工程(最小生成树&克鲁斯卡尔算法模板)
- hdu1863 畅通工程(最小生成树)
- HDU1863 畅通工程---(最小生成树)
- HDU1863 畅通工程 最小生成树
- HDU 1863 畅通工程
- hdu 1863畅通工程(prim,邻接矩阵)
- 畅通工程_hdu_1863(并查集+最小生成树).java
- HDU 1863 畅通工程(Kruskal + 并查集)