poj2253flody变形(最小生成树)
2015-08-06 21:09
218 查看
///题意:先求所有通路中青蛙尽量跳小步(小步组成整个通路) 小步中的跳的最大一步的距离(每条通路一个) /// 比较所有以上结果 最小的为最终结果 可以用最小生成树做 当生成树中A和B相通时停止(树可能不完整) 此树中的最大边就是结果 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; struct node { int x,y; }st[220]; double dis[220][220]; int main() { int n; int I=0; while(scanf("%d",&n),n!=0) { int j; int i; I++; for(i=0;i<n;++i) { dis[i][i]=0; scanf("%d%d",&st[i].x,&st[i].y); for(j=0;j<i;++j) { dis[i][j]=sqrt(double((st[i].x-st[j].x)*(st[i].x-st[j].x)+(st[i].y-st[j].y)*(st[i].y-st[j].y))); dis[j][i]=dis[i][j]; } } int k; for(k=0;k<n;++k) { for(i=0;i<n;++i) { for(j=0;j<n;++j) { if(dis[i][k]<dis[i][j]&&dis[k][j]<dis[i][j]) { dis[i][j]=max(dis[i][k],dis[k][j]); } } } } printf("Scenario #%d\nFrog Distance = %.3lf\n\n",I,dis[0][1]); } }
相关文章推荐
- Ubuntu10.04默认不支持root直接登录
- sql语句逻辑执行顺序
- nginx 作为反向代理实现负载均衡的例子
- 编译支持MFC的pcl::visualization静态库文件
- C++ 获取文件夹下的所有文件名
- 求一个字符串中出现相同且长度最长的字符串
- [MetaHook] Quake FMOD player demo
- 测试用例设计白皮书--等价类划分方法
- 通过PowerShell命令批量启用Lync用户
- Grunt入门教程(自动任务运行器)
- 离散事件模拟-银行管理 模拟,队列
- 事件传递和响应者链条
- 测试用例设计白皮书--测试用例基本概念
- 工作中遇到的问题-2
- iOS UIActivityViewController 接入WeChatSDK 微信 朋友圈分享
- Unreal角色技术指南
- pip (package manager) for python
- Jenkins自动编译发布java工程的方法
- 正向代理与反向代理的区别【Nginx读书笔记】
- VirtualBox的快照功能