uva534
来源:互联网 发布:java调用数组参数 编辑:程序博客网 时间:2024/05/16 15:25
#include <iostream>#include <string.h>#include <algorithm>#include <math.h>#include <iomanip>using namespace std;double par[220][220];double dis[220];int vis[220];int n;double ans;class node{public: int x; int y;};node nodes[202];void init(){ for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) if(i!=j) { double tmp=sqrt((double)((nodes[i].x-nodes[j].x)*(nodes[i].x-nodes[j].x)+(nodes[i].y-nodes[j].y)*(nodes[i].y-nodes[j].y))); par[i][j]=tmp; par[j][i]=tmp; } else { par[i][j]=0; par[j][i]=0; } memset(vis,0,sizeof(vis));}void dj(){ vis[1]=1; for(int i=2; i<=n; i++) dis[i]=par[1][i]; dis[1]=0; while(1) { int v=-1; double min_dis=10000000; for(int i=1; i<=n; i++) { if(!vis[i] && min_dis>dis[i]) { min_dis=dis[i]; v=i; } } if(v==-1) { ans=dis[2]; return ; } vis[v]=1; for(int i=1; i<=n; i++) if(!vis[i] && dis[i]>max(dis[v],par[v][i] )) dis[i]=max(dis[v],par[v][i] ); }}int main(){ int t=0; while(cin>>n,n) { for(int i=1; i<=n; i++) { cin>>nodes[i].x>>nodes[i].y; } init(); dj(); cout<<"Scenario #"<<++t<<endl<<"Frog Distance = "<<fixed<<setprecision(3)<<ans<<endl<<endl; } return 0;}
阅读全文
0 0
- uva534
- uva534
- 最小生成树变形uva534
- python中sort()函数和sorted()函数的区别
- 改正第一次练习
- 破解Linux环境下Shell脚本加密的几种思路
- 运行python文件出现,报错please select a valid interpreter
- 蔡洪平:中国工业的进步应该少一点任性、多一点韧性
- uva534
- 易观:手机管家份额第一 支付保护需求强烈
- 森蚁A1PLUS行车记录仪 高清拍摄、空气净化、随身摄影超能跨界
- ID创意爆发 迅雷赚钱宝二代设计图公开
- noip 2017 模拟 D1 T3
- 详解卷积神经网络(CNN)
- Codeforces Round #339 (Div. 2)-C(点到线段的最短距离)
- Selenium2Library关键字
- 手把手教你快速学会双平台真实开发GitHub App React Native技术全面掌握