UVa 10369 Arctic Network (Kruskal+最小生成树的第K小边)
来源:互联网 发布:mysql输入密码后闪退 编辑:程序博客网 时间:2024/06/05 06:16
#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#include<climits>#include<queue>#include<vector>#include<set>#include<map>#include<cstring>#include<string>using namespace std;const int INF=100000000;const int maxp=500+10;const int maxe=500*500+10;int N,S,P,E;struct edge{int u,v;double cost;edge(int u=0,int v=0,double cost=0.0):u(u),v(v),cost(cost){}};struct Point{double x,y;Point(double x=0.0,double y=0.0):x(x),y(y){}};edge es[maxe];Point point[maxp];int p[maxp];double route[maxe];int num;bool cmp(const edge& e1,const edge& e2){return e1.cost<e2.cost;}int find(int x){return p[x]==x ? x:p[x]=find(p[x]);}void Kruskal(){sort(es,es+E,cmp);num=0;for(int i=0;i<P;i++)p[i]=i;for(int i=0;i<E;i++){edge e=es[i];int x=find(e.u);int y=find(e.v);if(x!=y){route[num++]=e.cost;p[x]=y;}}}int main(){scanf("%d",&N);while(N--){scanf("%d%d",&S,&P);for(int i=0;i<P;i++){scanf("%lf%lf",&point[i].x,&point[i].y);}E=0;for(int i=0;i<P;i++)for(int j=i+1;j<P;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);}Kruskal();sort(route,route+num);printf("%.2lf\n",route[num-S]);}return 0;}
0 0
- UVa 10369 Arctic Network (Kruskal+最小生成树的第K小边)
- UVa 10369 - Arctic Network(求最小生成树的第k小边)
- POJ 2349 Arctic Network(Kruskal求最小生成树第k条边的长度)
- uva 10369 Arctic Network 最小生成树上的第k条边
- poj 2349 Arctic Network 最小生成树第k大边-kruskal
- uva 10369 - Arctic Network(最小生成树)
- UVA 10369 - Arctic Network(最小生成树)
- Uva 10369 Arctic Network 最小生成树
- UVA 10369- Arctic Network(最小生成树)
- UVA 10369Arctic Network【最小生成树】
- Arctic Network 2349(最小生成树的第k长边)
- POJ 题目2349 Arctic Network(最小生成树,第k长边)
- uva 10369 - Arctic Network(最小生成树)
- (intermediate) 最小生成树 UVA 10369 - Arctic Network
- UVA - 10369 Arctic Network (最小生成树)
- poj2349 Arctic Network 最小生成树,kruskal
- POJ2349 Arctic Network(最小生成树,Kruskal)
- Arctic Network(POJ 2349)(最小生成树Kruskal)
- 南邮 OJ 1220 独立任务最优调度问题
- Button 点击事件onclick实现的四种方式
- opencv GPU函数
- ListView在显示的时候出现一行行包名
- eclipse中写java,html,css,javascript代码提示
- UVa 10369 Arctic Network (Kruskal+最小生成树的第K小边)
- DbgPrintEx
- Win7,Win8下多窗口运行Excel 2010
- iOS 调用另一个程序
- python中range和xrnage的区别
- oracle列相乘
- 南邮 OJ 1221 最少硬币问题
- Android之system_server与zygote之作用
- QT国际化