最小生成树-kruskal 模板
2017-09-06 15:53
316 查看
#include<iostream> #include<cstdio> #include<vector> #include<algorithm> #include<queue> #define ll long long using namespace std; struct node{ int s,t,len; friend bool operator < (node a,node b){ return a.len<b.len; } }e[20020]; int n,m; int ans=0; int fa[1010]; int getroot(int x){ if(fa[x]==x)return x; return fa[x]=getroot(fa[x]); } int main(){ scanf("%d%d",&n,&m); for(int i=1; i<=n; i++)fa[i]=i; for(int i=0; i<m; i++){ scanf("%d%d%d",&e[i].s,&e[i].t,&e[i].len); } sort(e,e+m); int sum=1; for(int i=0; i<m; i++){ e[i].s=getroot(e[i].s); e[i].t=getroot(e[i].t); if(e[i].s==e[i].t)continue; ans+=e[i].len; sum++; if(sum==n)break; fa[e[i].s]=e[i].t; } if(sum==n)printf("%d\n",ans); else printf("-1\n"); return 0; }
相关文章推荐
- 最小生成树(kruskal模版 Prim模板)
- 最小生成树---kruskal模板(并查集优化)
- Kruskal(克鲁斯卡尔) 最小生成树 算法详解+模板
- 最小生成树模板【kruskal & prim】
- 【模板】Kruskal 最小生成树
- POJ2395Out of Hay(最小生成树Kruskal模板)
- 练习赛2(补题)问题 G: 建设电力系统【最小生成树kruskal模板题】
- hdu1879 最小生成树模板 peim和kruskal
- 51nod 1212 无向图最小生成树(prim,kruskal模板)
- 最小生成树(模板 Kruskal)
- 最小生成树-kruskal模板
- HDOJ 题目1233还是畅通工程(最小生成树,kruskal模板)
- 最小生成树(kruskal模版 模板)
- hdu 1863 畅通工程 最小生成树模板入门题 prim+kruskal两种算法AC。
- POJ 1278 Agri-Net 最小生成树模板题(Prim 与 Kruskal)
- 最小生成树kruskal与prim算法模板
- 【模板】最小生成树Kruskal
- 【模板】【最小生成树】【Kruskal】CODEVS P1078
- poj1258 Agri-Net 最小生成树 prim kruskal 模板
- 最小生成树模板(prim+kruskal+prim的优化)