【图(上)】拯救007
题目说明:
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!
设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告诉他是否有可能逃出生天。
输入格式:
首先第一行给出两个正整数:鳄鱼数量 N(≤)和007一次能跳跃的最大距离 D。随后 N 行,每行给出一条鳄鱼的 ( 坐标。注意:不会有两条鳄鱼待在同一个点上)。
输出格式:
如果007有可能逃脱,就在一行中输出"Yes",否则输出"No"。
图的顶点:小岛,鳄鱼,岸边
对图中每一个结点,判断如果该节点没有访问过且能到达,就从该节点深度优先遍历,如果从该节点可以跳到岸边,退出循环,是安全的。
深度优先遍历时,对每一个访问的结点设置该节点已经访问过,并判断从该节点是否可以一次跳到岸边,可以的话直接返回,否则,对其他结点判断,如果该节点可以到达且没有访问过,就对这个结点进行深度优先遍历。
void Save007(Graph G)
{for (each V in G){//visited[V]==true表示该结点已经访问过了,FirstJump(V):可以到达结点Vif (!visited[V] && FirstJump(V)){answer = DFS(V);if (answer == YES) break;}}if (answer == YES) output("Yes");else output("No");
}int DFS(Vertex V)
{visited[V] = true;if ( IsSafe(V) ) answer = YES;//IsSafe(V):判断在V点是否能到达岸边else{for (each W in G)if (!visited[W] && Jump(V,W)){answer = DFS(W);if(answer == YES) break;}}return answer;
}
参考博文:https://www.cnblogs.com/X-Do-Better/p/9048604.html
【图(上)】拯救007相关推荐
- 【数据结构笔记22】图的遍历例题:拯救007(应用DFS)、六度空间(应用BFS)
本次笔记内容: 6.3 应用实例:拯救007 6.4 六度空间 文章目录 拯救007 题目与分析 题目 分析 总体算法 六度空间(Six Degrees of Separation) 题目 算法思路 ...
- PTA_拯救007 (25 分)【简单DFS+特判】
题目链接:7-9 拯救007 (25 分) AC代码: 代码中有注释 #include<iostream> #include<algorithm> #include<cs ...
- 基础实验6-2.3 拯救007 (25分) [浙大版《数据结构学习与实验指导(第2版)》]
题目连接:基础实验6-2.3 拯救007 (25分) 在老电影"007之生死关头"(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一 ...
- L2-1 拯救007(升级版)
L2-1 拯救007(升级版) (25 分) 在老电影"007之生死关头"(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大 ...
- python 一张图画多条线_Gnuplot.py在一张图上绘制多条线
我目前正试图使用gnuplot py从文本文件中绘制多行.我可以分别绘制两条线,但当我试图在同一个图上绘制它们时,它只绘制一条线.在 这是我的代码:#!/usr/bin/env python impo ...
- tensorboard图上存在直线_高中数学必修二直线与圆:真是让我没想到,他俩的关系还挺不简单...
为什么有些题目看着复杂,看一眼就想烧了卷子.听老师一讲,然后一个有趣的事情就发生了,原来这么简单,哎哟,这方法不错,老师还挺聪明,给你点个赞. 首先承认一点,大家智商基本没有太大差异,老师也好,学生也 ...
- ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取
今天给大家介绍来自加拿大蒙特利尔大学Mila人工智能研究所唐建教授课题组在ICML2020上发表的一篇关于关系抽取的文章.作者利用全局关系图来研究不同句子之间的新关系,并提出了一种新的贝叶斯元学习方法 ...
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录
- R语言ggplot2可视化在箱图上添加分组样本个数
R语言ggplot2可视化在箱图上添加分组样本个数 目录 R语言ggplot2可视化在箱图上添加分组样本个数 #数据预处理
最新文章
- javascript数据结构与算法-队列
- S60 V3版SDK的官方扩展插件
- 基于Matlab的声波信号处理,基于声卡和Matlab平台的语音信号增强处理系统
- 自动驾驶发展调查:产业化还需技术“破冰”
- html中怎么实现广告自动出来又自动隐藏?,基于jquery实现的定时显示与隐藏div广告的实现代码...
- 面向业务和面向硬件编程
- python替代技术,Python超级方法和调用替代品
- SAP Odata服务里filter的用法
- 《深入浅出WPF》笔记——绑定篇(一)
- IntelliJ IDEA 2020.1 快速查找文件
- NavigationBar的显隐和颜色设置
- iPhone清理喇叭灰尘_手机喇叭用久了灰尘多,与其经常换手机,不如自己动手清理...
- [转]如何配置和使用Tomcat访问日志
- c语言程序代码分享,一些简单的C语言程序代码(最新整理)
- 洞察药监局数据,挖掘万亿价值
- [sklearn机器学习]线性回归模型
- 如何将多个Excel 表合并成一个
- 画出使用回溯法解0/1背包问题的解空间树
- 诚之和:裁员、关店,贝壳内部正在发生一场博弈?
- 单点登录系统的设计与实现方案