HDU1233 还是畅通工程
来源:互联网 发布:全知之眼图片 编辑:程序博客网 时间:2024/05/16 14:50
畅通工程系列,中文题目就不解释意思了。
题目比较直白,直接最小生成树。
#include<iostream>#include<cstdio>#include<cstring>#include<functional>#include<algorithm>using namespace std;struct node{int from,to;int cost;}e[100*100+10];int fa[105];int n,m,i,sum;int cmp(struct node a,struct node b){return a.cost<b.cost;}void init(){sum=0;for(i=1;i<=n;i++)fa[i]=i;}int getfa(int x){if(x==fa[x])return x;elsereturn fa[x]=getfa(fa[x]);//return x==fa[x]?x:fa[x]=getfa(fa[x]);}int merge(int u,int v){int t1,t2;t1=getfa(u);t2=getfa(v);//printf("u=%d v=%d t1=%d t2=%d\n",u,v,t1,t2);if(t1!=t2){fa[t1]=t2;return 1;}return 0;}int main(){int t1,t2,t3;while(scanf("%d",&n),n){init();m=n*(n-1)/2;for(i=1;i<=m;i++){scanf("%d%d%d",&t1,&t2,&t3);e[i].from=t1;e[i].to=t2;e[i].cost=t3;}sort(e+1,e+m+1,cmp);for(i=1;i<=m;i++){if(merge(e[i].from,e[i].to)){sum+=e[i].cost;//printf("cost=%d\n",e[i].cost);}}printf("%d\n",sum);}}
阅读全文
0 0
- 还是畅通工程 hdu1233
- hdu1233还是畅通工程
- hdu1233还是畅通工程
- HDu1233 还是畅通工程
- hdu1233还是畅通工程
- 还是畅通工程hdu1233
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- hdu1233-还是畅通工程
- hdu1233 还是畅通工程
- 还是畅通工程 hdu1233
- HDU1233还是畅通工程
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- HDU1233:还是畅通工程
- HDU1233还是畅通工程
- hdu1233还是畅通工程
- hdu1233还是畅通工程
- Day20
- (转)POJ3101 Astronomy【素因子分解】【大数乘法】
- 数组二分查找
- React Native之FlexBox布局上的一些心得
- SQL 优化
- HDU1233 还是畅通工程
- Connection接口及DriverManager类
- Linux进程间通讯一--无名管道PIPE
- PayPal联合创始人 彼得·蒂尔 汉密尔顿学院毕业演讲
- java.util.Date和java.sql.Date的区别及应用
- 前端工程化
- 【Unity游戏开发】SDK接入与集成——小白入门篇
- 流程图怎么画才好看?
- Knight Moves (BFS)