POJ2253 Frogger(最短路径)
题意:
青蛙想从一个石子跳到另一个石子,中间有很多石子,要求青蛙跳跃距离应为路径中最大的距离,现在要求所有路径中最小的跳跃距离,就是求所有路径中最大距离的最小值。
要点:
可以用最短路径做,用Floyd算法,不断往里加点,只不过这次dis数组表示最大距离的最小值,而用max(map[i][k], map[k][j]))取路径中的最大跳跃距离,这种比较好理解,网上也有很多用dijkstra算法做的,比较难理解还是算了。
15415520 | Seasonal | 2253 | Accepted | 504K | 110MS | C++ | 799B | 2016-04-20 16:56:10 |
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <math.h>
using namespace std;
struct node
{int x, y;
}a[205];
double map[205][205];int main()
{int n,count=1;while (scanf("%d", &n) && n){for (int i = 1; i <= n; i++)scanf("%d%d", &a[i].x, &a[i].y);for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++){double x = a[i].x - a[j].x;double y = a[i].y - a[j].y;map[i][j] = map[j][i] = sqrt(x*x + y*y);}for (int k = 1; k <= n; k++)for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)if (map[i][j] > max(map[i][k], map[k][j]))//就是始终求路径中的最大权边,并取最大权边的最小值map[i][j] = max(map[i][k], map[k][j]);//这里如果用预处理器会失败,中间莫名其妙会算错,也不知道为什么printf("Scenario #%d\n", count++);printf("Frog Distance = %.3lf\n\n", map[1][2]);}return 0;
}
转载于:https://www.cnblogs.com/seasonal/p/10343767.html
POJ2253 Frogger(最短路径)相关推荐
- poj2253 Frogger dijkstra
题目大意: 给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离 ...
- poj2253 Frogger(最短路变型或者最小生成树)
1 /* 2 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 3 求这些路径中最大距离的最小值! 4 5 Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件 ...
- poj-2253 Frogger(最短路)
**题意描述 给出一系列的点,前两个点是青蛙的坐标,需要求的是第一个坐标到第二个坐标之间经历的最短距离. 解题思路: 还是Dijkstra算法做题,在数组进行存储的时候通过用数学方法求出知道的两个点之 ...
- hdu与poj题目分类
POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...
- 杭电oj题目题型分类(转)
1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...
- HDOJ题目分类大全
版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
- android字体中间横线,Android TextView(EditView)文字底部或者中间 加横线
Si2151/41 6th Generation Silicon TV Tuner ICs The Si2151/41 are the industry's most advanced sili ...
- 杭电OJ题目分类(转载)
1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...
最新文章
- 如何在现有的ul中添加li?
- Python - MySQL数据库操作
- php if判断两个条件_PHP中if相关条件语句该如何理解使用?
- Java 自动转换和强制转换
- 【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度
- CentOS6.5升级内核到3.10.28
- vs2012中对于entity framework的使用
- 1 CentOS 6下FastDFS实现分布式文件系统
- 网络测试工具iperf使用教程
- pyspider爬取tripadvisor
- 这届抢票软件为什么不行?
- 数字电路逻辑设计_第三版_微课版_第三章思考题与练习题(附答案)
- Java是有法_20191122-Java的基本语法
- python中关系运算符惰性求值_python对象属性惰性取值
- html5以图片为背景的代码,HTML5画布背景图片
- 微信小程序 15 个人中心页
- 网络摄像头Rtsp直播方案(一)
- 近年多示例论文阅读(2): Multiple instance learning: A survey of problem characteristics and applications
- 微博国际版 android,新浪微博国际版
- 民政部:汶川地震救灾困难比较多