POJ 2253 Frogger(floyd)
http://poj.org/problem?id=2253
题意 : 题目是说,有这样一只青蛙Freddy,他在一块石头上,他呢注意到青蛙Fiona在另一块石头上,想去拜访,但是两块石头太远了,所以他只有通过别的石头跳过去,所以,从他的石头到Fiona的石头每一条可走的路,假设是n条,就需要你求出frog distance,这个所谓的距离就是指这n条路中,每条路选取组成这条路中最长的那边,最后一共有n条边,找这n条边里最短的那一条输出。
思路 : 就是一个最短路的问题,不过不需要求最短路的权值和,只需要求出最大跳即可,还要注意,不管几行坐标,前两行分别是Freddy的位置和Fiona的位置,最后输出,不过很多人倒是用了克鲁斯卡尔和prim做的,我一直不明白这个题为什么会转化成最小生成树.........好吧,我才疏学浅..........
这是几组测试数据:
Scenario #
Frog Distance = 5.000 Scenario #
Frog Distance = 1.414 Scenario #
Frog Distance = 1.414 Scenario #
Frog Distance = 1.000 Scenario #
Frog Distance = 134.350 Scenario #
Frog Distance = 1.414 Scenario #
Frog Distance = 1408.557
对了,每一行输出有一空行,因为一开始没注意结果PE了一次,又一次证明了我有多粗心。。。。。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std; const int maxn = ;
const int oo = << ; double map[maxn][maxn];
int n,m;
double x[maxn],y[maxn]; void floyd()
{
for(int k = ; k < n ; k++)
{
for(int i = ; i < n ; i++) //主要针对由i到j的松弛,最终任意两点间的权值都会被分别松弛为最大跳的最小(但每个两点的最小不一定相同)
{
for(int j = ; j < n ; j++)
{
if(map[i][j] > map[i][k]&&map[i][j] > map[k][j])//当边ik,kj的权值都小于ij时,则走i->k->j路线,否则走i->j路线
{
if(map[i][k] > map[k][j]) //当走i->k->j路线时,选择max{ik,kj},只有选择最大跳才能保证连通
map[i][j] = map[i][k];
else
map[i][j] = map[k][j];
} }
}
}
} void Init()
{
for(int i = ; i < n ; i++)
{
for(int j = ; j < n ; j++)
{
map[i][j] = oo ;
}
map[i][i] = ;
}
} int main()
{
int cnt = ;
while(~scanf("%d",&n)&&n)
{
cnt++;
Init();
for(int i = ; i < n ; i++)
{
scanf("%lf %lf",&x[i],&y[i]);
}
for(int i = ; i < n ; i++)
{
for(int j = ; j < n ; j++)
{
map[i][j] = sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
}
}
floyd();
printf("Scenario #%d\n",cnt);
printf("Frog Distance = %.3f\n\n",map[][]);
}
return ;
}
POJ 2253 Frogger(floyd)的更多相关文章
- POJ 2253 Frogger (Floyd)
Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions:57696 Accepted: 18104 Descript ...
- POJ 2253 Frogger(最小生成树)
青蛙跳跃,题意大概是:青蛙从起点到终点进行一次或多次的跳跃,多次跳跃中肯定有最大的跳跃距离.求在所有的跳跃中,最小的最大跳跃距离SF-_-(不理解?看题目吧). 可以用最小生成树完成.以起点为根,生成 ...
- poj 2253 Frogger(floyd变形)
题目链接:http://poj.org/problem?id=1797 题意:给出两只青蛙的坐标A.B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的.显然从A到B存在至少一条的通路,每一条通路 ...
- POJ. 2253 Frogger (Dijkstra )
POJ. 2253 Frogger (Dijkstra ) 题意分析 首先给出n个点的坐标,其中第一个点的坐标为青蛙1的坐标,第二个点的坐标为青蛙2的坐标.给出的n个点,两两双向互通,求出由1到2可行 ...
- POJ 2253 Frogger(dijkstra 最短路
POJ 2253 Frogger Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fion ...
- poj 2253 Frogger (dijkstra最短路)
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- POJ 2253 Frogger(最短路&Floyd)题解
题意:想给你公青蛙位置,再给你母青蛙位置,然后给你剩余位置,问你怎么走,公青蛙全力跳的的最远距离最小. 思路:这里不是求最短路径,而是要你找一条路,青蛙走这条路时,对他跳远要求最低.这个思想还是挺好迁 ...
- [ACM] POJ 2253 Frogger (最短路径变形,每条通路中的最长边的最小值)
Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 24879 Accepted: 8076 Descript ...
- POJ 2253 Frogger(Dijkstra变形——最短路径最大权值)
题目链接: http://poj.org/problem?id=2253 Description Freddy Frog is sitting on a stone in the middle of ...
随机推荐
- Win8 URI 方案 ms-appX 用法大全
ms-appdata://可以引用来自应用的本地.漫游和临时数据文件夹中的应用文件ms-appdata:///local/hello/logo.png ms-appx://可以引用来自应用包的应用文件 ...
- 《samba服务搭建》RHEL6
Samba服务不仅可以实现linux和win之间的文件共享,也可以实现linux和linux之间的共享,samba的用户只限服务端本地用户使用. 本文的环境是selinux开启的情况下配置 Samba ...
- Spring MVC与easyui国际化
1.建立资源文件 在webapp下建立文件夹language,在其中再添加file,命名分别为language.properties,language_en.properties,language_z ...
- html关于强制显示 隐藏浏览器的滚动条
浏览器的滚动条在一些特殊的展示中,是不需要的,所以必须把它隐藏掉,文章主要介绍一些隐藏或者显示IE的水平或者垂直滚动条的实现代码,需要了解的朋友可以参考下: 相关css代码如下: //强制显示滚动条: ...
- MongoDB与php的配合使用 【windows版】
通过学习了如何使用和部署MongoDB,尝试了一下如何将mongodb应用到php的程式中去. 1.预备工作 首先得准备好mongodb,并按照相关方法部署以及服务能正常运行中. 对于初学者,可以参考 ...
- 重拾C,一天一点点_5
switch(表达式){ case 整型常量表达式:语句序列 case 整型常量表达式:语句序列 default:语句序列} while(表达式) 语句 for(表达式1; 表 ...
- js数组的splice方法
w3school文章链接:http://www.w3school.com.cn/jsref/jsref_splice.asp splice:拼接,结合. splice()方法向数组添加/删除元素,返回 ...
- 笨办法学 Python (第三版)(转载)
笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html 摘自https://learn-python ...
- float类型进行计算精度丢失的问题
今天一个案子,用户反映数量差异明明是 2.0-1.8,显示的结果却为0.20000005,就自己写了段方法测试了一下:package test1;public class Test2 {/*** @p ...
- mysqlsla 分析mysql慢查询日志
发现有一个工具mysqlsla,分析查询日志比 mysqldumpslow分析的会更清晰明了! 安装mysqlsla: 下载mysqlsla-2.03.tar.gz [root@yoon export ...