题干:

湖中有n块石头,编号从1到n,有两只青蛙,Bob在1号石头上,Alice在2号石头上,Bob想去看望Alice,但由于水很脏,他想避免游泳,于是跳着去找她。但是Alice的石头超出了他的跳跃范围。因此,Bob使用其他石头作为中间站,通过一系列的小跳跃到达她。两块石头之间的青蛙距离被定义为两块石头之间所有可能路径上的最小必要跳跃距离,某条路径的必要跳跃距离即这条路径中单次跳跃的最远跳跃距离。你的工作是计算Alice和Bob石头之间的青蛙距离。

Input

多实例输入 
先输入一个整数n表示石头数量,当n等于0时结束。
接下来2-n+1行依次给出编号为1到n的石头的坐标xi , yi。
2 <= n <= 200 
0 <= xi , yi <= 1000

Output

先输出"Scenario #x", x代表样例序号。
接下来一行输出"Frog Distance = y", y代表你得到的答案。 
每个样例后输出一个空行。
(ps:wa有可能是精度问题,g++不对可以用c++尝试,都不对就是代码问题)

Sample Input

2
0 0
3 43
17 4
19 4
18 50

Sample Output

Scenario #1
Frog Distance = 5.000Scenario #2
Frog Distance = 1.414

题目大意:

1为起点,2为终点,那么1~2的所有路径,每条路径的最大边构成一个边集E,让你求E中的最小值。

解题报告:

这题可以直接跑MST,然后当1~2已经连通的时候就break就行了,这时候得到的就是答案。

法二跑个floyd稍微修改一下也行。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define F first
#define S second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 2e2 + 5;
double dis[MAX][MAX];
int x[MAX],y[MAX],n;
void floyd() {for(int k = 1; k<=n; k++) {for(int i = 1; i<=n; i++) {for(int j = 1; j<=n; j++) {dis[i][j] = min(dis[i][j],max(dis[i][k],dis[k][j]));}}}
}
int main()
{int iCase=0;while(~scanf("%d",&n) && n) {for(int i = 1; i<=n; i++)for(int j = 1; j<=n; j++) dis[i][j] = 999999999;for(int i = 1; i<=n; i++) {scanf("%d%d",x+i,y+i);for(int j = 1; j<i; j++) {dis[i][j] = dis[j][i] = sqrt((x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j]));}} floyd();printf("Scenario #%d\n",++iCase);printf("Frog Distance = %.3f\n\n",dis[1][2]);    }return 0 ;
}

【POJ - 2253】Frogger(floyd,或 部分瓶颈生成树的最大边)相关推荐

  1. POJ 2253 Frogger(floyd dijkstra spfa)

    题目链接:http://poj.org/problem?id=2253 题目: 弗雷迪青蛙正坐在湖中央的一块石头上. 突然,他注意到正坐在另一块石头上的菲奥娜青蛙. 他打算去看望她,但由于水很脏,游客 ...

  2. POJ 2253 Frogger(最短路 Floyd)

    Frogger 大意: 给出两个青蛙的坐标和其他n-2个石头的坐标,任一两个坐标点间都是双向连通的.现在要求求出所有通路的最大距离,并把这些最大距离作比较,把最小的一个最大距离作为青蛙的最小跳远距离. ...

  3. POJ 2253 Frogger(最短路Floyd)题解

    题意:想给你公青蛙位置,再给你母青蛙位置,然后给你剩余位置,问你怎么走,公青蛙全力跳的的最远距离最小. 思路:这里不是求最短路径,而是要你找一条路,青蛙走这条路时,对他跳远要求最低.这个思想还是挺好迁 ...

  4. POJ 2253 Frogger (求某两点之间所有路径中最大边的最小值)

    题意:有两只青蛙,a在第一个石头,b在第二个石头,a要到b那里去,每种a到b的路径中都有最大边,求所有这些最大边的最小值. 思路:将所有边长存起来,排好序后,二分枚举答案. 时间复杂度比较高,344m ...

  5. B - Frogger POJ - 2253

    B - Frogger POJ - 2253 题意: 从 1 号点出发,找每一条能够到达 2 号点的路径,每条路径的答案是该路径中相邻两点之间距离的最大值,求这些答案中的最小值. 思路: 感觉不是最短 ...

  6. 图论 —— 生成树 —— 最小瓶颈生成树

    [概述] 所谓瓶颈生成树,即对于图 G 中的生成树树上最大的边权值在所有生成树中最小. 对于无向图来说,无向图的最小生成树一定是最小瓶颈生成树,但最小瓶颈生成树不一定是最小生成树. 因此,使用 Kru ...

  7. [kuangbin带你飞]专题四 最短路练习 B( POJ 2253) Frogger(spfa)

    B - Frogger(spfa) 题目链接:https://vjudge.net/contest/66569#problem/B 题目: Freddy Frog is sitting on a st ...

  8. 【POJ - 2485 】Highways (最小生成树,Prim算法,瓶颈生成树)

    题干: The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. ...

  9. 【POJ】2377 Bad Cowtractors(最大生成树)

    简单题,模板题 求解最大生成树,提交一直WA,感觉没有什么问题啊,就是在求解最小生成树的模板基础上稍加修改即可,后来发现在输出a,b,c给map二维数组的时候还必须有判断条件,略为有点坑,因为之前做的 ...

最新文章

  1. 使用Leangoo做销售管理体系
  2. 一个悄然成为世界最流行的操作系统诞生!
  3. 不吹不黑,中美程序员的区别对比!
  4. php 删除硬链接,为什么要用软链接硬链接
  5. 全国计算机等级考试题库二级C操作题100套(第46套)
  6. 揭秘 | 小米最新款12PRO智能动态刷新率技术原理
  7. [think]需求从来就没变过,变的是我们对需求的理解
  8. 最新京东炸年兽活动一键做任务工具v1.4
  9. 小解系列-解决WebUploader在谷歌浏览器下弹出框打开慢,在Bootstrap模态框内部多次点击才能触发的问题
  10. linux打补丁教程,Linux下patch打补丁命令
  11. epcs1s是epcs1系列的么_fpga的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)
  12. Text file busy解决方法
  13. Java面向对象4——package和import语句
  14. 2018-2019-2 网络对抗技术 20165303 Exp3 免杀原理与实践
  15. 线性代数(1)- 向量空间
  16. 剪辑技巧,全部视频添加封面图片后保存在哪
  17. cifs挂载 mount ubuntu_如何挂载CIFS共享?
  18. 零基础学python鱼c-鱼C-小甲鱼 零基础入门学习Python 97节课程
  19. benchmarksql测试mysql_web安全(一):sql注入详解
  20. 华为全面屏适配踩坑记录

热门文章

  1. 小议同步IO :fsync与fdatasync
  2. android 9格式吗,Android Studio中关于9-patch格式图片的编译错误
  3. java interfaceof,java interface教程
  4. ie传递给系统调用的数据区域太小_内存区域与内存溢出异常
  5. airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法
  6. ubuntu 18.04 显卡驱动
  7. 计算机启动软件,计算机软件及应用启动会-20210703001237.pptx-原创力文档
  8. linux将文件下载到本地windows,XSHELL下直接下载文件到本地(Windows)
  9. java构建内存池队列_内存池完整实现代码及一些思考
  10. python 元组 列表 字典区别_python编程:常用的数据结构之字典的方法总结,和列表和元组区别...