05-2. Saving James Bond - Easy Version

2024-08-24 12:58
文章标签 05 version easy bond james saving

本文主要是介绍05-2. Saving James Bond - Easy Version,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需要注意的是1.能否从中心岛跳到其他顶点,需要计算(0,0)到顶点的距离再减去小岛半径

                         2.顶点到地点先把所有顶点转到到第一象限再判断方便一些

/* ***********************************************
Author        :fisty
Created Time  :2015/1/1 22:21:13
File Name     :007.cpp
************************************************ */#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
#define MAX_N 110
int n, d;
pair<int, int> G[MAX_N];
int used[MAX_N];
bool jump1(int i){//可以从原点起跳到别的顶点//顶点到圆心的距离减去7.5int x = G[i].first;int y = G[i].second; if((sqrt((double)(x*x+y*y))-7.5) - (double)d < 1e-10)return true;return false;
}
bool jump2(int v, int w){//可以从顶点v跳到顶点wint x = (G[v].first - G[w].first);int y = (G[v].second - G[w].second);if(sqrt(double(x*x + y*y)) - (double)d < 1e-10)return true;return false;
}
bool can(int v){//可以逃离int x = abs(G[v].first);int y = abs(G[v].second);if((x + d >= 50) || (y + d >= 50))return true;return false;
}
bool dfs(int v){used[v] = 1;if(can(v)){//如果可以跳出池塘return true;}else{bool ans = false;for(int i = 0;i < n; i++){if(!used[i] && jump2(v, i)){//如果没有跳过并且可以跳到ans = dfs(i);if(ans) break;}}return ans;}
}
int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);cin.tie(0);std::ios::sync_with_stdio(false);while(scanf("%d%d", &n, &d) != EOF){memset(used, 0 , sizeof(used));     for(int i = 0;i < n; i++){scanf("%d%d", &G[i].first, &G[i].second);}bool ans = false;for(int i = 0;i < n; i++){//枚举所有结点if(!used[i] && jump1(i)){//如果可以从原点出发,并且可以跳到空地ans = dfs(i);if(ans) break;}}if(ans)printf("Yes\n");elseprintf("No\n");}return 0;
}


这篇关于05-2. Saving James Bond - Easy Version的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102546

相关文章

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

LibSVM学习(六)——easy.py和grid.py的使用

我们在“LibSVM学习(一)”中,讲到libSVM有一个tools文件夹,里面包含有四个python文件,是用来对参数优选的。其中,常用到的是easy.py和grid.py两个文件。其实,网上也有相应的说明,但很不系统,下面结合本人的经验,对使用方法做个说明。        这两个文件都要用python(可以在http://www.python.org上下载到,需要安装)和绘图工具gnup

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

Learn ComputeShader 09 Night version lenses

这次将要制作一个类似夜视仪的效果 第一步就是要降低图像的分辨率, 这只需要将id.xy除上一个数字然后再乘上这个数字 可以根据下图理解,很明显通过这个操作在多个像素显示了相同的颜色,并且很多像素颜色被丢失了,自然就会有降低分辨率的效果 效果: 但是这样图像太锐利了,我们加入噪声去解决这个问题 [numthreads(8, 8, 1)]void CSMain(uint3 id

C++入门(05-2)从命令行执行C++编译器_GCC

文章目录 GCC编译器1. 下载MinGW-w64,安装(不推荐)2. 使用MSYS2安装MinGW-w64(推荐)2.1 安装MSYS22.2 初始化和更新2.3 安装MinGW-w64编译器2.3 在MSYS2 Shell中导航到代码目录2.4 使用 g++ 编译2.5 运行可执行文件 GCC编译器 GCC(GNU Compiler Collection)是一个开源编译器集

C++入门(05)从命令行执行C++编译器_MSVC

文章目录 1.C++ 编译器2. 常用 C++ 编译器MSVC(Microsoft Visual C++)GCC(GNU Compiler Collection)Clang 3. MSVC 编译器3.1 开发者命令提示符3.2 编译 C++ 代码 1.C++ 编译器 将C++源代码(扩展名为 .cpp )转换成计算机可以运行的可执行程序 编译器会检查代码的语法和语义,生成相应

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

【SpringMVC学习05】SpringMVC中的异常处理器

SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 异常处理思路 我们知道,系统中异常包括两类:预期异常和运行时异常(RuntimeException),前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws E

学习硬件测试05:NTC(ADC)+正弦波(DAC)+DMA(ADC+DAC)(P73、P76、P78)

文章以下内容全部为硬件相关知识,鲜有软件知识,并且记的是自己需要的部分,大家可能看不明白。 一、NTC(ADC) 1.1实验现象 本实验用 NTC 采集温度,数码管实时显示温度数据(整数),左下角 USB 小串口每隔 1S 打印温度信息。 1.2硬件电路 NTC 电阻是一个模拟温度传感器,随着温度的升高,电阻值逐渐减小。电路简单介绍如下: 电源滤波电容在 25℃ 室温下 NTC 电