杭电 最小生成树 2122 Ice_cream’s world III
来源:互联网 发布:vagrant python 编辑:程序博客网 时间:2024/04/29 12:20
Ice_cream’s world III
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1446 Accepted Submission(s): 494
Problem Description
ice_cream’s world becomes stronger and stronger; every road is built as undirected. The queen enjoys traveling around her world; the queen’s requirement is like II problem, beautifies the roads, by which there are some ways from every city to the capital. The project’s cost should be as less as better.
Input
Every case have two integers N and M (N<=1000, M<=10000) meaning N cities and M roads, the cities numbered 0…N-1, following N lines, each line contain three integers S, T and C, meaning S connected with T have a road will cost C.
Output
If Wiskey can’t satisfy the queen’s requirement, you must be output “impossible”, otherwise, print the minimum cost in this project. After every case print one blank.
Sample Input
2 10 1 104 0
Sample Output
10impossible
看到了遍历所有的点,我们直接就想到了最小生成树。直接上代码即可:
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;struct dian{ int x,y,dis;}a[121212];int cmp(dian a,dian b){ return a.dis<b.dis;}int f[121212];int find(int a){ int r=a; while(f[r]!=r) r=f[r]; int i=a; int j; while(i!=r) { j=f[i]; f[i]=r; i=j; } return r;}int merge(int a,int b){ int A,B; A=find(a); B=find(b); if(A!=B) f[B]=A;}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { memset(f,0,sizeof(f)); for(int i=0;i<n;i++) { f[i]=i; } for(int i=0;i<m;i++) { scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].dis); } sort(a,a+m,cmp); int output=0; for(int i=0;i<m;i++) { if(find(a[i].x)!=find(a[i].y)) { merge(a[i].x,a[i].y); output+=a[i].dis; } } int flag=0; for(int i=0;i<n;i++) { //printf("%d ",f[i]); if(f[i]==i)flag++; } printf("\n"); if(flag==1) { printf("%d\n\n",output); } else printf("impossible\n\n"); }}
0 0
- 杭电 最小生成树 2122 Ice_cream’s world III
- Ice_cream’s world III【最小生成树】
- Ice_cream’s world III hdu 2122 最小生成树
- hdu 2122 Ice_cream’s world III(最小生成树)
- HDU 2122 Ice_cream’s world III 【最小生成树】
- hdoj 2122 Ice_cream’s world III 【最小生成树】
- hdu 2122 Ice_cream’s world III(最小生成树)
- hdoj 2122 Ice_cream’s world III【最小生成树】
- hdoj 2122 Ice_cream’s world III 【最小生成树】
- hdu 2122 Ice_cream’s world III 最小生成树prim
- 杭电2122Ice_cream’s world III
- HDU2122 Ice_cream’s world III 【最小生成树】
- HDU2122--Ice_cream’s world III--最小生成树--kruskal
- HDOJ题目2122Ice_cream’s world III(最小生成树)
- hdu 2122 Ice_cream’s world III(最小生成树))
- hdu 2122(Ice_cream’s world III)(最小生成树,两种算法都可以)
- 最小生成树 Prim 算法HDU 2122 Ice_cream’s world III
- HDOJ 2122 Ice_cream’s world III(最小生成树prim算法)
- 由SSTable想到的:快速的,可读可写的,实时的,Persistent的data store方案
- 基于正态分布的图片高斯模糊算法
- Android Notification.setLatestEventInfo()警告
- 图像处理和计算机视觉中的Gabor滤波:Gabor filter for image processing and computer vision
- hdoj 积木堆砌的城堡 1268 (数学几何)
- 杭电 最小生成树 2122 Ice_cream’s world III
- 2015-12-29 工作笔记-2
- Custom Container View Controller容器vc
- Android退出应用最优雅的方式
- 深入理解C++中函数参数——传值与传址详解
- 字符串匹配算法之二------Trie字典树
- Going deeper with convolutions-GoogLeNet(阅读)
- 一些很有用的教程(pdf版)
- soui中apng 图像解码器解码图片后像素格式研究