hdu 1233 还是畅通工程
2015-05-14 20:31
375 查看
最小生成树,kruskal算法
#include<iostream> #include<algorithm> #define maxn 5000+5 using namespace std; int n,m; int re; int f[maxn]; struct stu { int x,y,l; }; stu mapp[maxn]; bool cmp(stu x,stu y) { return x.l<y.l; } int dfs(int x) { if(f[x]!=x) f[x]=dfs(f[x]); return f[x]; } void luka() { re=0; for(int i=1;i<=n;i++) f[i]=i; for(int i=0;i<m;i++) { if(dfs(f[mapp[i].x])!=dfs(f[mapp[i].y])) { re+=mapp[i].l; f[dfs(f[mapp[i].x])]=dfs(f[mapp[i].y]); } } cout<<re<<endl; } int main() { while(cin>>n&&n) { m=n*(n-1)/2; for(int i=0;i<m;i++) { cin>>mapp[i].x>>mapp[i].y>>mapp[i].l; } sort(mapp,mapp+m,cmp); luka(); } return 0; }
相关文章推荐
- HDU 1233 还是畅通工程
- HDU 1233 还是畅通工程
- HDU 1233 还是畅通工程
- hdu-1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程(最小生成树Kruskal)
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程(最小生成树prim)
- HDU 1233 还是畅通工程
- HDU1233--还是畅通工程(最小生成树)
- HDU-1233 还是畅通工程 (最小生成树)
- HDU_1232畅通工程+HDU_1233还是畅通工程
- hdu 1233 还是畅通工程(最小生成树的Prim和Kruskal两种算法的c++实现)(prim算法详解)
- hdu 1233 还是畅通工程(最小生成树Kruskal)
- 还是畅通工程(HDU 1233)
- [ACM] hdu 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程
- HDU 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程
- hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程<java>