POJ 2253Frogger(翻译/最短路/floyd/思维)
来源:互联网 发布:安徽宝德网络 编辑:程序博客网 时间:2024/06/07 02:45
题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=66569#problem/B
代码:
#include<stdio.h>#include<string.h>#include<cmath>using namespace std;const int maxn=205;float x[maxn],y[maxn];float maps[maxn][maxn];int main(){ int t,cnt=0; while(~scanf("%d",&t)) { if(t==0) break; for(int i=1;i<=t;i++) { scanf("%f%f",&x[i],&y[i]); } for(int i=1;i<=t;i++) { for(int j=1;j<=t;j++) { maps[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); } } for(int k=1;k<=t;k++) { for(int i=1;i<=t;i++) { for(int j=1;j<=t;j++) { if(maps[i][j]>maps[i][k]&&maps[i][j]>maps[k][j]) { if(maps[i][k]>maps[k][j]) { maps[i][j]=maps[i][k]; } else { maps[i][j]=maps[k][j]; } } } } } printf("Scenario #%d\nFrog Distance = %.3f\n\n",++cnt,maps[1][2]); }}
题意是找这样一条边 在从起点到终点的所有路径中, 找一条最大的一段路径(一段一段一段) 使这段路径最小。
弗洛伊德求两两之间的最短路。 每次更新maps【i】【j】为maps【i】【k】和maps【k】【j】中最大的 这样就会将一段路径中最大一条边存到 maps【i】【j】(即这段路径中)。
0 0
- POJ 2253Frogger(翻译/最短路/floyd/思维)
- poj 2253 Frogger (最短路Floyd)
- POJ 2253 Frogger(最短路 Floyd)
- POJ 2253 Frogger最短路(floyd)
- POJ 2253 Frogger(最短路--floyd变形)
- POJ 2253Frogger(最短路floyd)
- 文章标题 POJ 2253 : Frogger(最短路--Floyd)
- POJ 2253 Frogger(最短路变形,floyd算法)
- [POJ 2253] Frogger [最短路]
- POJ 2253 Frogger 最短路
- poj-2253-Frogger-最短路
- poj 2253 Frogger【最短路】
- POJ 2253 Frogger 最短路
- POJ 2253 Frogger(最短路)
- POJ-----2253---Frogger---最短路
- POJ 2253 Frogger 最短路
- POJ 2253 Frogger (最短路
- 最短路变形 POJ 2253 Frogger
- 自寅舍得分享:想要娶女神,你得先把为自己优化成一个优秀的男人
- Struts逐步学习
- WebView使用详解(一)——Native与JS相互调用(附JadX反编译)
- 选择排序法
- 商都论坛注册
- POJ 2253Frogger(翻译/最短路/floyd/思维)
- uva247
- 《简易新闻》源码分析
- eqeqw
- BroadleafCommerce使用Oracle
- Activity之获取栈中activity的class名称,获取应用程序的包信息等
- C++友元
- 浅谈设计模式之外观模式
- 汉诺塔问题 hanoi tower (递归)。