最小生成树_hdu_1863
来源:互联网 发布:华元宠物用品淘宝真假 编辑:程序博客网 时间:2024/06/05 14:42
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1863
畅通工程
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16949 Accepted Submission(s): 7107
Problem Description
省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N
行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。为简单起见,村庄从1到M编号。当N为0时,全部输入结束,相应的结果不要输出。
行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。为简单起见,村庄从1到M编号。当N为0时,全部输入结束,相应的结果不要输出。
Output
对每个测试用例,在1行里输出全省畅通需要的最低成本。若统计数据不足以保证畅通,则输出“?”。
Sample Input
3 31 2 11 3 22 3 41 32 3 20 100
Sample Output
3?
代码:
#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct node{ int a,b,c;}P;P p[110];int unit[110];int n,m;void set(){ int i; for(i=0;i<=n;i++) unit[i]=i;}int cmp(const void *a,const void *b){ P *c= (P*)a; P *d= (P*)b; return c->c-d->c;}int find(int root){ int son=root,temp; while(root!=unit[root]) root=unit[root]; while(son!=root) { temp=unit[son]; unit[son]=root; son=temp; } return root;}int main(){ int i,x,y,s,sum; while(~scanf("%d%d",&n,&m)&&n) { s=m-1; sum=0; memset(p,0,sizeof(p)); set(); for(i=0;i<n;i++) { scanf("%d%d%d",&p[i].a,&p[i].b,&p[i].c); x=find(p[i].a); y=find(p[i].b); if(x!=y) { unit[y]=x;s--; } } if(s){printf("?\n");continue;} s=m-1; set(); qsort(p,n,sizeof(p[0]),cmp); for(sum=i=0;i<n&&s>0;i++) { x=find(p[i].a); y=find(p[i].b); if(x!=y) { sum+=p[i].c; unit[y]=x; s--; } } printf("%d\n",sum); } return 0;}运行截图:
0 0
- 最小生成树_hdu_1863
- 畅通工程_hdu_1863(并查集+最小生成树).java
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- 树+最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树Kruskal
- kruskal 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树问题
- 最小生成树
- 最小生成树
- goto语句的用法
- ul li 中判断当前点击的li是哪儿个
- Codeforces 458B Distributed Join
- printf函数精讲
- 在JAVA中线程到底起到什么作用
- 最小生成树_hdu_1863
- PHP中利用pcntl进行多进程并发控制
- C#学习记录
- QTimer
- 使用Vagrant在Windows下部署开发环境
- 华为CaaS开放平台产品宣传片
- php.ini配置详解(2)
- Android中的Service详解
- UVA 729 - The Hamming Distance Problem