poj2253 Frogger dijkstra
题目大意:
给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离中的最小值。
用dijkstra解决,其中dist[J]为起点到J的所有路径中最长边的最小值。
1 #include <iostream> 2 #include <stdio.h> 3 #include <math.h> 4 #include <algorithm> 5 using namespace std; 6 7 int n, visit[200]; 8 double x[200], y[200]; 9 double G[200][200]; 10 double dist[200]; 11 const int inf = 2000; 12 13 void dijkstra() { 14 fill(visit, visit + n, 0); 15 fill(dist, dist + n, inf); 16 dist[0] = 0; 17 for (int i = 0; i < n; i++) { 18 int minn = inf, v; 19 for (int j = 0; j < n; j++) { 20 if (!visit[j] && dist[j] < minn) { 21 minn = dist[j]; 22 v = j; 23 } 24 } 25 visit[v] = 1; 26 if (v == 1) 27 break; 28 for (int j = 0; j < n; j++) { 29 if (!visit[j]) 30 dist[j] = min(dist[j], max(dist[v], G[v][j])); 31 } 32 } 33 } 34 35 int main() { 36 int cnt = 0; 37 while (true) { 38 cin >> n; 39 if (n == 0) 40 break; 41 for (int i = 0; i < n; i++) 42 cin >> x[i] >> y[i]; 43 for (int i = 0; i < n; i++) { 44 for (int j = 0; j < n; j++) 45 G[i][j] = sqrt((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j])); 46 } 47 dijkstra(); 48 printf("Scenario #%d\n", ++cnt); 49 printf("Frog Distance = %.3lf\n\n", dist[1]); 50 } 51 return 0; 52 }
转载于:https://www.cnblogs.com/lxc1910/p/10544484.html
poj2253 Frogger dijkstra相关推荐
- POJ2253 Frogger(最短路径)
题意: 青蛙想从一个石子跳到另一个石子,中间有很多石子,要求青蛙跳跃距离应为路径中最大的距离,现在要求所有路径中最小的跳跃距离,就是求所有路径中最大距离的最小值. 要点: 可以用最短路径做,用Floy ...
- poj2253 Frogger(最短路变型或者最小生成树)
1 /* 2 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 3 求这些路径中最大距离的最小值! 4 5 Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件 ...
- poj-2253 Frogger(最短路)
**题意描述 给出一系列的点,前两个点是青蛙的坐标,需要求的是第一个坐标到第二个坐标之间经历的最短距离. 解题思路: 还是Dijkstra算法做题,在数组进行存储的时候通过用数学方法求出知道的两个点之 ...
- android字体中间横线,Android TextView(EditView)文字底部或者中间 加横线
Si2151/41 6th Generation Silicon TV Tuner ICs The Si2151/41 are the industry's most advanced sili ...
- (最短路 Floyd diskstra prim)Frogger --POJ--2253
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- POJ 2253 Frogger(floyd dijkstra spfa)
题目链接:http://poj.org/problem?id=2253 题目: 弗雷迪青蛙正坐在湖中央的一块石头上. 突然,他注意到正坐在另一块石头上的菲奥娜青蛙. 他打算去看望她,但由于水很脏,游客 ...
- B - Frogger POJ - 2253
B - Frogger POJ - 2253 题意: 从 1 号点出发,找每一条能够到达 2 号点的路径,每条路径的答案是该路径中相邻两点之间距离的最大值,求这些答案中的最小值. 思路: 感觉不是最短 ...
- 一步一步深入理解Dijkstra算法
先简单介绍一下最短路径: 最短路径是啥?就是一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第 ...
- POJ 1797-Heavy Transportation-dijkstra小变形和POJ2253类似
传送门:http://poj.org/problem?id=1797 题意: 在起点和终点间找到一条路,使得经过的边的最小值是最大的: 和POJ2253类似,传送门:http://www.cnblog ...
最新文章
- 基础设计模式:单例模式+工厂模式+注册树模式
- PAGER set to stdout_Python || 学习笔记(4):dictamp;amp;set
- 搬家到新地址:http://kittsoft.xp3.biz/,欢迎访问!
- extjs 表单设置html5,ExtJS 配置和表格控件使用
- 使用Apache Isis快速进行SEMAT应用程序开发
- 小车故障灯亮显示大全_史上最全汽车故障灯大全,留着一定有用!
- 我是如何使用wireshark软件的
- 构建时预渲染:网页首帧优化实践
- java 数据保存内存_java中的各种数据类型在内存中存储的方式 一
- 报错Uncaught ReferenceError: xxx is not defined at HTMLButtonElement.onclick
- bzoj 4318 OSU!
- 三阶魔方大中小魔公式_三阶魔方花样公式汇总
- c语言实现审查元素,如何删除qq空间说说?一键自动删除QQ空间说说审查元素代码分享(超简单)...
- 计算机网络管理工程师证书考试试题,网络工程师考试模拟试题四-试题试卷网...
- 【CSDN软件工程师能力认证学习精选】SQL语句查询
- 北海屠龙记------一
- ffmpeg js转换音频_webRTC使用ffmpeg.js将webm转换为mp4
- 矩阵分析与应用-1.7-逆矩阵
- 纯CSS制作3D动态相册【流星雨3D旋转相册】HTML+CSS+JavaScriptHTML5七夕情人节表白网页制作
- VCP-DCV6.7学习心得