UVa 10034 Freckles (最小生成树+kruskal)
来源:互联网 发布:二战三巨头知乎 编辑:程序博客网 时间:2024/05/29 08:35
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<climits>#include<queue>#include<map>#include<vector>#include<iostream>#include<stack>#include<string>#include<set>using namespace std;const int maxe=10000+10;const int maxn=100+10;struct Point{double x,y;Point(double x=0.0,double y=0.0):x(x),y(y){}};struct edge{int u,v;double cost;edge(int u=0,int v=0,double cost=0.0):u(u),v(v),cost(cost){}};bool cmp(const edge& e1,const edge& e2){return e1.cost<e2.cost;}edge es[maxe];int E;int p[maxn];int n;Point point[maxn];int find(int x){return p[x]==x? x:p[x]=find(p[x]);}double kruskal(){sort(es,es+E,cmp);for(int i=0;i<n;i++)p[i]=i;double res=0;for(int i=0;i<E;i++){edge e=es[i];int x=find(es[i].u);int y=find(es[i].v);if(x!=y){res+=es[i].cost;p[x]=y;}}return res;}int main(){int t;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%lf%lf",&point[i].x,&point[i].y);}E=0;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){double d=sqrt((point[i].x-point[j].x)*(point[i].x-point[j].x)+(point[i].y-point[j].y)*(point[i].y-point[j].y));es[E++]=edge(i,j,d);}}printf("%.2lf\n",kruskal());if(t)printf("\n");}return 0;}
0 0
- uva 10034 Freckles(最小生成树Kruskal)
- 【UVA 10034 Freckles】& Kruskal & 最小生成树
- uva 10034 Freckles(最小生成树Kruskal)
- UVa 10034 Freckles (最小生成树+kruskal)
- UVA 10034 - Freckles(最小生成树)
- UVA 10034 Freckles 最小生成树
- Freckles - UVa 10034 最小生成树
- uva 10034 Freckles 最小生成树
- uva 10034 Freckles 最小生成树
- UVA 10034Freckles 【最小生成树】
- POJ 2560 Freckles(最小生成树-Kruskal)
- Jobdu1144 Freckles(最小生成树,Kruskal算法)
- UVa 10034 - Freckles (最小生成树模板题)
- UVA - 10034 Freckles (kruskal算法)
- 10034 - Freckles(最小生成树)
- SDNU 1370.Freckles 最小生成树 kruskal算法
- UVA - 10034 Freckles kruskal算法
- uva 10034 Freckles (kruskal||prim)
- 安装部署 CoreOS + Kubernetes 3
- Java 异常处理机制
- HDU 5319 Painter
- securityoverridehacking challenge 解题思路汇总——JavaScript
- MFC多线程各种线程用法
- UVa 10034 Freckles (最小生成树+kruskal)
- osg 示例程序解析之osgdelaunay
- When you are old
- openwrt程序之udev
- Swift:实例方法和类型方法
- Obj-C内存管理(二)
- 黑马程序员--iOS--Objective-C基础 (内存管理三)
- 暑假集训第三周周六赛 STL D - 胜利大逃亡
- 在VS2010上配置SGI_STL