题意:

青蛙想从一个石子跳到另一个石子,中间有很多石子,要求青蛙跳跃距离应为路径中最大的距离,现在要求所有路径中最小的跳跃距离,就是求所有路径中最大距离的最小值。

要点:

可以用最短路径做,用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(最短路径)相关推荐

  1. poj2253 Frogger dijkstra

    题目大意: 给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离 ...

  2. poj2253 Frogger(最短路变型或者最小生成树)

    1 /* 2 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 3 求这些路径中最大距离的最小值! 4 5 Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件 ...

  3. poj-2253 Frogger(最短路)

    **题意描述 给出一系列的点,前两个点是青蛙的坐标,需要求的是第一个坐标到第二个坐标之间经历的最短距离. 解题思路: 还是Dijkstra算法做题,在数组进行存储的时候通过用数学方法求出知道的两个点之 ...

  4. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

  5. 杭电oj题目题型分类(转)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

  6. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  7. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  8. android字体中间横线,Android TextView(EditView)文字底部或者中间 加横线

    ​Si2151/41 6th Generation Silicon TV Tuner ICs ​ The Si2151/41 are the industry's most advanced sili ...

  9. 杭电OJ题目分类(转载)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

最新文章

  1. 如何在现有的ul中添加li?
  2. Python - MySQL数据库操作
  3. php if判断两个条件_PHP中if相关条件语句该如何理解使用?
  4. Java 自动转换和强制转换
  5. 【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度
  6. CentOS6.5升级内核到3.10.28
  7. vs2012中对于entity framework的使用
  8. 1 CentOS 6下FastDFS实现分布式文件系统
  9. 网络测试工具iperf使用教程
  10. pyspider爬取tripadvisor
  11. 这届抢票软件为什么不行?
  12. 数字电路逻辑设计_第三版_微课版_第三章思考题与练习题(附答案)
  13. Java是有法_20191122-Java的基本语法
  14. python中关系运算符惰性求值_python对象属性惰性取值
  15. html5以图片为背景的代码,HTML5画布背景图片
  16. 微信小程序 15 个人中心页
  17. 网络摄像头Rtsp直播方案(一)
  18. 近年多示例论文阅读(2): Multiple instance learning: A survey of problem characteristics and applications
  19. 微博国际版 android,新浪微博国际版
  20. 民政部:汶川地震救灾困难比较多

热门文章

  1. WinForm/MIS项目开发之中按钮级权限实践
  2. 2005年4月全国计算机等级考试二级C语言笔试试题及答案
  3. [android] ubuntu开发环境
  4. 2011下半年案例分析题的解答思路_信息系统项目管理师考试
  5. Outlook2010 Bug 一则
  6. ASP.NET十七种正则表达试
  7. Spring中ClassPathXmlApplicationContext类的简单使用
  8. 【Struts2框架】Struts2总结
  9. SQL防注入程序 v1.0
  10. 第1章 故障处理方法