Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 28802   Accepted: 9353

Description

Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists' sunscreen, he wants to avoid swimming and instead reach her by jumping. 
Unfortunately Fiona's stone is out of his jump range. Therefore Freddy considers to use other stones as intermediate stops and reach her by a sequence of several small jumps. 
To execute a given sequence of jumps, a frog's jump range obviously must be at least as long as the longest jump occuring in the sequence. 
The frog distance (humans also call it minimax distance) between two stones therefore is defined as the minimum necessary jump range over all possible paths between the two stones.

You are given the coordinates of Freddy's stone, Fiona's stone and all other stones in the lake. Your job is to compute the frog distance between Freddy's and Fiona's stone.

Input

The input will contain one or more test cases. The first line of each test case will contain the number of stones n (2<=n<=200). The next n lines each contain two integers xi,yi (0 <= xi,yi <= 1000) representing the coordinates of stone #i. Stone #1 is Freddy's stone, stone #2 is Fiona's stone, the other n-2 stones are unoccupied. There's a blank line following each test case. Input is terminated by a value of zero (0) for n.

Output

For each test case, print a line saying "Scenario #x" and a line saying "Frog Distance = y" where x is replaced by the test case number (they are numbered from 1) and y is replaced by the appropriate real number, printed to three decimals. Put a blank line after each test case, even after the last one.

Sample Input

2
0 0
3 4 3
17 4
19 4
18 5 0

Sample Output

Scenario #1
Frog Distance = 5.000 Scenario #2
Frog Distance = 1.414
这题可以用Dijkstra,将松弛条件改一下就可以了,改成
          if(dis[j]>max(dis[stone],map[stone][j])&&(vis[j]==0)){
dis[j]=max(dis[stone],map[stone][j]);
}
这样的结果就是求得能到达这点的路径上的最长边的最小值,求输出时要注意格式
 #include <iostream>
#include<math.h>
#include<limits.h>
#include<algorithm>
#include<iomanip>
using namespace std;
int num;
int vis[],stone[][];
int map[][],dis[];
int Dijkstra(){
for(int i=;i<num;i++){
dis[i]=INT_MAX;
vis[i]=;
}
dis[]=;
for(int i=;i<num;i++){
int min=INT_MAX;
int stone;
for(int j=;j<num;j++){
if((vis[j]==)&&min>dis[j]){
stone=j;
min=dis[j];
}
}
vis[stone]=;
if(min==INT_MAX)
break;
for(int j=;j<num;j++){
if(dis[j]>max(dis[stone],map[stone][j])&&(vis[j]==)){
dis[j]=max(dis[stone],map[stone][j]);
}
}
}
return dis[];
} int main() { cin>>num;
int count=;
while(num){
for(int i=;i<num;i++){
cin>>stone[i][]>>stone[i][];
}
for(int i=;i<num;i++){
for(int j=;j<num;j++){
map[i][j]=pow((stone[i][]-stone[j][]),)+pow((stone[i][]-stone[j][]),);
}
}
float fdis=sqrt(Dijkstra());
cout<<fixed;
cout<<"Scenario #"<<count<<endl<<"Frog Distance = "<<setprecision()<<fdis<<endl<<endl; count++;
cin>>num;
} return ;
}

Frogger - poj 2253 (Dijkstra)的更多相关文章

  1. Poj(2253),Dijkstra松弛条件的变形

    题目链接:http://poj.org/problem?id=2253 题意: 给出两只青蛙的坐标A.B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的.显然从A到B存在至少一条的通路,每一条通 ...

  2. Frogger POJ - 2253(求两个石头之间”所有通路中最长边中“的最小边)

    题意 ​ 题目主要说的是,有两只青蛙,在两个石头上,他们之间也有一些石头,一只青蛙要想到达另一只青蛙所在地方,必须跳在石头上.题目中给出了两只青蛙的初始位置,以及剩余石头的位置,问一只青蛙到达另一只青 ...

  3. kuangbin专题专题四 Frogger POJ - 2253

    题目链接:https://vjudge.net/problem/POJ-2253 思路: 从一号到二号石头的所有路线中,每条路线中都个子选出该路线中两点通路的最长距离,并在这些选出的最长距离选出最短路 ...

  4. floyd类型题UVa-10099-The Tourist Guide +Frogger POJ - 2253

    The Tourist Guide Mr. G. works as a tourist guide. His current assignment is to take some tourists f ...

  5. Frogger POJ - 2253

    题意 给你n个点,1为起点,2为终点,要求所有1到2所有路径中每条路径上最大值的最小值. 思路 不想打最短路 跑一边最小生成树,再扫一遍1到2的路径,取最大值即可 注意g++要用%f输出!!! 常数巨 ...

  6. POJ. 2253 Frogger (Dijkstra )

    POJ. 2253 Frogger (Dijkstra ) 题意分析 首先给出n个点的坐标,其中第一个点的坐标为青蛙1的坐标,第二个点的坐标为青蛙2的坐标.给出的n个点,两两双向互通,求出由1到2可行 ...

  7. POJ 2253 ——Frogger——————【最短路、Dijkstra、最长边最小化】

    Frogger Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  8. POJ 2253 Frogger(dijkstra 最短路

    POJ 2253 Frogger Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fion ...

  9. 最短路(Floyd_Warshall) POJ 2253 Frogger

    题目传送门 /* 最短路:Floyd算法模板题 */ #include <cstdio> #include <iostream> #include <algorithm& ...

随机推荐

  1. Uva 12063 Zero and Ones

    给个链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  2. 【bzoj1977】【严格次小生成树】倍增维护链上最大次大值

    (上不了p站我要死了,侵权度娘背锅) Description 小 C 最近学了很多最小生成树的算法,Prim 算法.Kurskal 算法.消圈算法等等. 正当小 C 洋洋得意之时,小 P 又来泼小 C ...

  3. 几个有用的PHP.ini配置项-路径和目录

    几个有用的PHP.ini配置项-路径和目录 路径和目录1.include_path = string作用域:PHP_INI_ALL默认值:NULL此参数指定的路径是include().require( ...

  4. Word中设置所有西文字体为新罗马

    如图所示,不用一个一个设置,在字体里直接设置细纹字体:Times New Roman ,中文字体不用管.

  5. Tomcat部署多个应用时日志文件路径相同引起的问题

    今天给客户部署新系统,一个 前台应用,一个后台应用,由于用的是同一个架子,日志文件路径也没改,所以两个应用的日志文件是同一个文件,这样应用运行时,就会出现只能访问一个应用的情况,如果两个应用同时访问, ...

  6. Linux文件压缩与解压命令

    1  .zip 格式压缩与解压 压缩命令 zip 压缩文件名 源文件 zip  -r   压缩目录名       源目录 解压命令 unzip 文件名 td@td-Lenovo-IdeaPad-Y41 ...

  7. http://jingyan.baidu.com/article/0eb457e5208cbb03f0a9054c.html

    http://jingyan.baidu.com/article/0eb457e5208cbb03f0a9054c.html

  8. CodeForces 388A Fox and Box Accumulation (模拟)

    A. Fox and Box Accumulation time limit per test:1 second memory limit per test:256 megabytes Fox Cie ...

  9. idea 添加多模块项目

    建立多模块工程先建立一个空的项目,File-Project-Maven不勾选create from archetype即可 然后再右键父工程 添加模块jar包 添加模块war包 然后再pom中配置引用 ...

  10. 自定义ViewPager的兼容性问题及解决办法

    通过它我们可以给图片增加组合动画效果,也可以写成一个图片查看器. 比如我们首次安装应用的时候,很多就会用到ViewPager给我们做一个应用简介.今天要写的也是这个--怎么用ViewPager实现动画 ...