Uva 10034 - Freckles
来源:互联网 发布:linux常用命令下载 编辑:程序博客网 时间:2024/05/18 01:44
最小生成树
自行建边
2Y
第一次格式没回车
=.=
#include<stdio.h>#include<vector>#include<algorithm>#include<math.h>#define MAX 110struct edge{int p,q;double w;bool operator < (const edge& b)const {return w<b.w;}};std::vector<edge>L;int ft[MAX];void in_ft(int n){int i;for(i=1;i<=n;i++)ft[i]=i;}int find(int x){int t=x,temp;while(ft[x]!=x)x=ft[x];while(t!=x){temp=ft[t];ft[t]=x;t=temp;}return x;}void merge(int root1,int root2){int fr1=find(root1);int fr2=find(root2);ft[fr1]=fr2;find(root1);find(root2);}double x[MAX],y[MAX];double dis(int p,int q){double xx=x[p]-x[q];double yy=y[p]-y[q];return sqrt(xx*xx+yy*yy);}int main(){int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);L.clear();in_ft(n);int i,j;for(i=1;i<=n;i++){scanf("%lf%lf",&x[i],&y[i]);for(j=1;j<i;j++){L.push_back( (edge){i,j,dis(i,j)} );}}std::sort(L.begin(),L.end());double res=0.0;for(i=0;i<L.size();i++){if( find(L[i].p) != find(L[i].q) ){merge(L[i].p,L[i].q);res+=L[i].w;}}printf("%.2lf\n",res);if(t)printf("\n");}return 0;}
- UVa 10034 Freckles
- UVa 10034 Freckles
- UVa 10034 Freckles
- UVA 10034 - Freckles
- UVA:10034 - Freckles
- UVa 10034 - Freckles
- UVa 10034 Freckles 解答
- UVA 10034 - Freckles
- Uva 10034 - Freckles
- UVA 10034 Freckles
- UVa 10034: Freckles
- UVa:10034 Freckles
- Uva - 10034 - Freckles
- UVA - 10034 Freckles
- UVa 10034 - Freckles
- Uva 10034 - Freckles
- UVA 10034 - Freckles
- uva 10034 - Freckles
- 各平台播放器以及浏览器的navigator.userAgent
- UIImageView的图片居中问题
- 将私钥拷贝到另一台mac 上,ssh 一台公钥认证的server 失败
- module_init 详解
- poj1191 dp
- Uva 10034 - Freckles
- apache反向代理和负载均衡总结
- mingw编译SDL_gfx库时遇到undefined reference to 'GFX_ALPHA_ADJUST_ARRAY'问题的解决方法
- C++中static的用法总结
- Eclipse java swing开发环境
- 照片浏览器--支持缩放和双击缩放(一)
- 《游戏编程中的人工智能技术》一书勘误
- 坏的麦克风
- 常用设计模式