PTA 7-1 拯救007 C++

PTA-拯救007 PTA–拯救007 题目 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心... 阅读详情

7-1 拯救007

分数 25

全屏浏览题目

切换布局

作者 陈越

单位 浙江大学

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)

设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告诉他是否有可能逃出生天。

输入格式:

首先第一行给出两个正整数:鳄鱼数量 N(≤100)和007一次能跳跃的最大距离 D。随后 N 行,每行给出一条鳄鱼的 (x,y) 坐标。注意:不会有两条鳄鱼待在同一个点上。

输出格式:

如果007有可能逃脱,就在一行中输出"Yes",否则输出"No"。

输入样例 1:

14 20
25 -15
-25 28
8 49
29 15
-35 -2
5 28
27 -29
-8 -28
-20 -35
-25 -20
-13 29
-30 15
-35 40
12 12

输出样例 1:

Yes

输入样例 2:

4 13
-12 12
12 12
-12 -12
12 -12

输出样例 2:

No
  1. 首先输入鳄鱼的数量和最大跳跃距离n,d,以及所有鳄鱼的坐标;
  2. 判断d是否大于等于42.5,如果是则输出"Yes",直接逃脱;
  3. 深度优先搜索(DFS),将每一条鳄鱼看作图中的结点,设定距离为d时的连通情况,查找所有连通的结点,若存在连接岸上的结点则输出"Yes",否则输出"No"。进行深搜操作时需要判断该点是否访问过,且能够跳转到另一条鳄鱼上。深搜时要注意添加附加条件,如果第一步都不能完成则不需要继续搜索。
  4. 输出结果

 

#include<bits/stdc++.h>
#include<math.h>
#include<string.h>
using namespace std;

struct Position//用于存储鳄鱼的坐标
{
    int x;
    int y;
}eyu[1000];

bool visited[1000];//用于深搜的标记数组
int flag=0;

bool can_escape(int i,int d)//判断能否一步跳到岸上
{
    if(abs(eyu[i].x)>=50-d||abs(eyu[i].y)>=50-d)
    {
        return 1;
    }else return 0;
}

int can_tiaozhuan(int i,int j,int d)//判断能否跳到另一只鳄鱼上
{
    if( pow(eyu[i].x-eyu[j].x,2) + pow(eyu[i].y-eyu[j].y,2) <= d*d )
        return 1;
    else return 0;
}

int can_firststep(int i,int d)//判断第一步能否跳到鳄鱼上
{
    if( pow(eyu[i].x,2) + pow(eyu[i].y,2) <= pow(d+7.5,2) )
        return 1;
    else return 0;
}

int Deepselect(int t,int n,int d)//进行深搜操作
{
    visited[t]=1;
    if(can_escape(t,d)==1)
        flag=1;

    for(int i=0;i<n;i++)
    {
        if(!visited[i]&&can_tiaozhuan(t,i,d))//此处判断该点是否访问过,且能够跳转到另一条鳄鱼上
        {
            flag=Deepselect(i,n,d);
        }
    }
    return flag;
}

int main()
{
    //1.输入鳄鱼的数量和最大跳跃距离
    int n,d;//鳄鱼的数量和最大跳跃距离
    cin>>n>>d;//
    for(int i=0;i<n;i++)
    {
        cin>>eyu[i].x>>eyu[i].y;
    }
    
    memset(visited,0,sizeof(visited));//c++标准库函数,用于初始化
    
    if(d>=42.5)//若最大条跳跃距离大于42.5则能为能一步逃走
    {
        cout<<"Yes";
    }else{
        for(int i=0;i<n;i++)//进行深搜操作
        {
            if(!visited[i]&&can_firststep(i,d))//此处关键在于给深搜添加附加条件,如果第一步都不能完成则不需要考虑继续搜索
            {
                Deepselect(i,n,d);//深搜操作
            }
        }
        if(flag==1)
            cout<<"Yes";
        else cout<<"No";
    }
    return 0;
}

 

数据结构课程设计——拯救007 数据结构课程设计 拯救007 两江大学出版社 立即下载

相关推荐

HFSS实战(二)——精准仿真高速PCB差分线的信号完整性

本文深入探讨了使用HFSS进行高速PCB差分线信号完整性仿真的关键技术与实战经验。从设计文件导入、模型裁剪到差分端口设置,详细解析了精准仿真的全流程,特别强调了材料特性和3D电磁场仿真在解决微带线损耗等问题中的重要性。文章还提供了常见问题排查指南和效率优化技巧,帮助工程师提升高速PCB设计的仿真精度与效率。

weixin_38170829的博客 572

简单的floyed

7-8 哈利·波特的考试 (25分) 链接: PTA原题地址. 题目 哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。 现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一

zkpj12的博客 491

GNSS接收机性能测试指标详解:TTFF、位置精度、灵敏度等关键参数如何评估

本文详细解析了GNSS接收机性能测试的关键指标,包括首次定位时间(TTFF)、位置精度、灵敏度等,帮助工程师系统评估接收机性能。通过多频段协同定位和载波相位测试等技术,提升定位精度至亚米级。同时,介绍了灵敏度测试的极限挑战和授时精度的专业测试方案,为GNSS接收机的性能优化提供实用指导。

cuda7parallel的博客 962

【PTA】7-3 拯救007(C++)代码实现 & 易错点反思

检查了半天仍然查不出的问题: 1. 当考虑特殊情况要提前结束程序时,别忘了return

H13420972436的博客 639

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

struggle2025的博客 1749

深度:善用人工智能推动高等教育学习、教学与治理的深层变革

从学习方式的革新到教学模式的重构,再到治理体系的升级,人工智能已不再仅仅是辅助工具,而是成为重塑高等教育生态的核心驱动力。某高校的创新实践表明,引入AI生成虚拟患者后,医学生在临床沟通训练中的共情能力提升27%,印证了技术工具与人文教育的互补效应。美国卡内基梅隆大学的实践表明,经过系统培训的教师,其课程设计效率提升40%,且能精准定位83%学生的学习难点。当每个学生都掌握提示工程原理,每位教师都能驾驭AI教学工具,每所高校都建立智能治理框架时,教育将真正实现"以人为本"与"技术为用"的有机统一。

IT胶囊 1093

#数据结构与算法学习笔记#PTA19:拯救007基础版 Saving James Bond - Easy Version(Java)

2018.10.22 简单重述一下,James Bond被困在直径15的湖心岛上,整个湖可以模拟成一个100*100的矩阵,湖上有可供跳跃的陆地点(其实是鳄鱼背),每次007有一个最大的跳跃半径maxdist,问007能否成功逃脱跳到岸上。 这道题实际上是一道图题,但是却并不需要用邻接表或邻接矩阵建立一个图,只需要记录下所有可供跳跃的结点,把跳跃路径作为边,再进行一个简单的DFS,判断能够到达...

NJU_ChopinXBP的博客 597

STM32F103C8T6飞控入门:从零开始,用HAL库和MPU6050搭建你的第一架四轴无人机

本文详细介绍了如何使用STM32F103C8T6和MPU6050模块从零开始搭建四轴无人机飞控系统。通过硬件选型、电路设计、HAL库配置、姿态解算算法实现以及PID控制等步骤,帮助创客和嵌入式爱好者快速入门飞控开发。文章还提供了实用的调试技巧和常见问题解决方案,适合想要掌握四旋翼无人机核心技术的开发者。

weixin_42524750的博客 266

数据结构PTA 进阶实验6-3.4 拯救007(升级版)

进阶实验6-3.4 拯救007(升级版)题目解法 题目 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007

Echooo的博客 2285

【TCGA-CRC】TCGA数据读取

本文介绍了如何从TCGA数据库中处理结肠癌(COAD)和直肠癌(READ)的RNA测序数据。首先,通过data.table::fread函数读取基因表达量文件,并检查基因ID和基因名称的一致性。接着,批量读取所有样本的TPM(Transcripts Per Million)数据,并将其合并为表达矩阵。随后,通过匹配样本ID和文件名,确保表达矩阵的列名与样本ID一致。最后,筛选出编码蛋白质的基因,并将处理后的数据保存为Rdata文件。整个过程涉及数据读取、合并、匹配和筛选,为后续的基因表达分析提供了基础。

小八四爱吃甜食的博客 662

数据库崩溃恢复机制:REDO日志与UNDO日志详解

在数据库管理系统中,事务的持久性和一致性是至关重要的。为了保证在系统崩溃或发生故障时数据不会丢失,数据库引入了恢复机制。其中,REDO日志和UNDO日志是两种关键的恢复技术。本文将详细描述这两种日志的作用、工作原理以及它们在数据库崩溃恢复中的应用。

My_wife_QBL的博客 1409

PTA - 拯救007 ( BFS )

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, ...

a7152326的博客 884

2023华为od机试C卷【宽度最小的子矩阵】Python 实现

给定一个矩阵,包含N*M个整数,和一个包含K个整数的数组现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。

MISAYAONE的博客 2185

PTA拯救007 (BFS)

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆...

Sinclair 1107

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pta拯救007 (25 分)(DFS深搜遍历)

拯救007 (30 分) 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告

weixin_46891900的博客 344

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

PTA:拯救007 (30 分)

题目详情: 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告诉他是否有

qq_60256199的博客 459

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

7-130 拯救007 (25分)(dfs,详解)

7-130 拯救007 (25分) 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 5...

zlzhujust@gmail.com 2563

7-12 拯救007(25 分)(dfs)

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为...

Commatc的博客 927

拯救007(基于c++,easyx)

拯救007的基于c++和easyx的简单实现

fate_486的博客 1470

PTA -- 搜索专题 -- 拯救007 (25 分)

7-12 拯救007 (25 分) 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离

Gverzh的博客 1071

pta 数据结构--拯救007 图+dfs

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0...

zjyang12345的博客 1432

PTA 拯救007(升级版) (DFS,加最大的一个测试点)

拯救007(升级版) 思路: 首先找到从小岛能跳的鳄鱼,存储到优先队列中。因为题目中要求,如果最短路径不唯一,则输出第一跳最近的那个解。 如果能出去那就比较当前最小的,保存即可。但是需要用到回溯,不然最大的测试点过不去,理由如下: 如图,(12345是输入顺序,竖线是岸边)假如说从湖中心小岛只能跳到1,那从1开始dfs,次序是 1 2 3 4 成功, 然后就不会有 1 5 4 成功了,所以要用...

Vincehex 1466

第六章习题练习

前情提要: 007有危险啦!这次让我们来一次拯救吧! 回顾题目(推眼镜,假装柯南附身): 思路: 这道题目需要朋友们非常的细致,因为可考虑的情况有很多。例如:①第一次就可以直接跳到岸上;②第一次跳到鳄鱼之后就可以跳到岸上;③跳完鳄鱼之后还得跳鳄鱼。 面对这几种情况,我们可分别列出判断条件:①D>=50-7.5 ②D>= 50-| x | || D>...

diebo9331的博客 219

PTA-Saving James Bond - Easy Version

数据结构-图-C语言-PTA-Saving James Bond - Easy Version 以下为自己写的版本,难过的是测试点2无法通过 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;math.h&amp;amp;amp;gt; #define MaxSize 100 #define MinLength 42.5 bool answer = false

CaediosViolet的博客 392
上一篇: NeuDs 数据结构 图论
下一篇: PTA 7-2 哈利·波特的考试 C++
「已注销」
博客等级 码龄7年 155粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值