Frogger(图论,最短路径)
来源:https://vjudge.net/problem/POJ-2253
一开始还以为是最短路径,后来看了大佬的博客才发现用的Dijkstra的思想维护最小的最大跳跃距离数组d[],贴一下大佬的博客https://blog.csdn.net/duan_1998/article/details/73716128
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> #define INF 0x3f3f3f3f using namespace std; double w[205][205]; double d[205]; bool vis[205]; int n; struct node {double x,y; } no[205]; void djs() {for(int i=1;i<=n;i++){d[i]=w[1][i];vis[i]=0;}for(int i=1; i<=n; i++){double m=INF;int x=-1;for(int j=1; j<=n; j++)if(!vis[j]&&d[j]<m)m=d[x=j];if(x!=-1){vis[x]=1;//标记for(int j=1; j<=n; j++)if(!vis[j]&&d[j]>max(d[x],w[x][j]))d[j]=max(d[x],w[x][j]);//更新(维护)d数组 }} } int main() {int t=1;while(~scanf("%d",&n)&&n){for(int i=1; i<=n; i++)scanf("%lf%lf",&no[i].x,&no[i].y);for(int i=1; i<=n; i++)for(int j=i; j<=n; j++)w[i][j]=w[j][i]=sqrt((no[i].x-no[j].x)*(no[i].x-no[j].x)+(no[i].y-no[j].y)*(no[i].y-no[j].y));djs();printf("Scenario #%d\nFrog Distance = %.3lf\n\n",t++,d[2]);//注意格式哦 } }
转载于:https://www.cnblogs.com/megadeth/p/11305309.html
Frogger(图论,最短路径)相关推荐
- BUAA离散数学第十章 图论 最短路径及关键通路 python解法
BUAA离散数学第十章 图论 最短路径及关键通路 python解法 前言 一.最短通路 题目描述 输入 输出 解题思路 代码 顶点 边 图 Solution 运行测试 二.关键通路 题目描述 输入 输 ...
- 数据结构与算法--图论最短路径算法应用-词阶求解
最短路径案例 词梯应用,在一个词梯中,每个单词均由前一个单词改变一个字母而得到.例如,我们通过一系列单字母替换而得到zero转换为five,如下:five:zero,hero,here,hire,fi ...
- 数学建模 图论最短路径问题
1.图的基本概念 图论中的图(Graph)是由若干给定的点及连接两点的线 所构成的图形,这种图形通常用来描述某些事物之间的某种 特定关系,用点代表事物,用连接两点的线表示相应两个事 物间具有这种关系. ...
- 图论——最短路径之渡河问题
渡河问题是图论(图与网络模型及方法)中求解最短路径的经典例题,也是一道很有意思的问题. 题目大致描述如下:某人带狼.羊.蔬菜渡河,有一艘船,每次渡河人只能载一物.我们都知道,狼吃羊.羊吃菜,所以当人不 ...
- 矩阵和图结构(图论) 最短路径问题 学习笔记
矩阵和图是可以相互转换的,这里的图不仅仅是图片,还包括图结构(图论) 所以最短路径问题解决矩阵和结局图论均是一个问题.
- 图论-最短路径--3、SPFA算法O(kE)
SPFA算法O(kE) 主要思想是: 初始时将起点加入队列.每次从队列中取出一个元素,并对所有与它相邻的点进行修改,若某个相邻的点修改成功,则将其入队.直到队列为空时算法结束. 这个算 ...
- 数学建模学习笔记——图论最短路径
[1,2,3,4] {"你好","我好","大家好"} 无向图拥有负权重--都是负权回路 弗洛伊德算法--可以算出任意两点之间的 ...
- dijkstra邻接表_掌握算法-图论-最短路径算法-Dijkstra算法
如果图是赋权图,那么问题就变得更困难了不过我们仍然可以使用来自无权情形时的想法. 我们保留所有与前面相同的信息.因此,每个顶点或者标记为Known的,或者标记为Unknown的.像之前一样,对每一个顶 ...
- 【2018.3.10】模拟赛之四-ssl2133 腾讯大战360【SPAF,图论,最短路径】
目录地址 前言 打错了一个地方之接60,还有输出"Peace"能拿60.还有题目坑爹害得我用了哈希,可以无视 QAQ 正题 有一个n*n的图,有m条边,不知道几个城市,给出两个位置 ...
- 图论最短路径算法——Dijkstra
说实在的,这算法很简单,很简单,很简单--因为它是贪心的,而且码量也小,常数比起SPFA也小. 主要思想 先初始化,dis[起点]=0,其它皆为无限大. 还要有一个bz数组,bz[i]表示i是否确定为 ...
最新文章
- Little Sub and Triples
- 新BOJ 88. 最值问题
- 自己实现一个和PYTHON的库一模一样的sha_256算法
- 瀑布流布局JavaScript实现
- oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
- Windows Server 2012R2之重复数据删除实战
- 第十周 11.1-11.7
- vimrc.local 备份
- 机器学习-逻辑回归-信用卡检测任务
- spark pineline流水线+聚类评估函数 小结
- php无重复字符的最长子串,无重复字符的最长字串问题
- 拓端tecdat|Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
- pb定时器timer
- 挑筋(挑治)疗法——针挑治疗痔疮
- pycharm 全局搜索快捷键
- decoct() 函数
- hdu 4489 The King’s Ups and Downs【递推】
- 全面提升转化率和客单价的方法和技巧
- Unity材质快速复制
- 电脑卡顿,终于解决了多年的电脑卡顿问题
热门文章
- 参考文献在论文中进行引用标注
- 利用反射等离激元超表面的模拟光计算
- 体温枪PCBA设计生产流程
- 脊柱外科患者资料管理系统
- SAN和NAS、ISCSI存储有什么区别,SAN和NAS设备哪个更好?
- #pragma once用法总结和链接错误
- datax运行无法加载主类
- python 循环高级用法 [expression for x in X [if condition] for y in Y [if condition] ... for n in N [if con
- 使用typedef定义数据类型
- 电脑端实现微信双开(登录两个微信)