Shadow Tactics

本题链接:

题目:

样例:

输入
1 1
3 3
U 2 2 2
输出
YES

思路:

        根据题意,隼人的坐标是不会动的,并且士兵只能直线来回行动。

        所以这里我们需要分成三种情况。

        1、隼人坐标在士兵走动路线之间,如下图:

       2、隼人坐标在士兵走动路线外面的一侧,如下图:

        3、隼人坐标在士兵走动路线外面的另一侧,如下图:

        从上图,我们可以知道,最短距离路线所对应的某一个(x / y)下标,可以通过隼人的坐标获取,我们只需要判断另一个移动的 (x / y)下标即可。

代码详解如下:

#include <iostream>
#include <vector>
#include <queue>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <unordered_map>
#define endl '\n'
#define x first
#define y second
#define int long long
#define YES puts("YES")
#define NO puts("NO")
#define umap unordered_map
#define All(x) x.begin(),x.end()
#pragma GCC optimize(3,"Ofast","inline")
#define IOS std::ios::sync_with_stdio(false),cin.tie(0), cout.tie(0)
using namespace std;
const int N = 2e6 + 10;
inline void solve();signed main()
{
//	freopen("a.txt", "r", stdin);IOS;int _t = 1;
// 	cin >> _t;while (_t--){solve();}return 0;
}
using PII = pair<int,int>;PII peo; // 隼人 坐标// 求 当前点 和 隼人的最短距离
inline double dist(double x,double y)
{return sqrt(pow(x - peo.x,2)*1.0 + pow(y - peo.y,2)*1.0);
}inline void solve()
{int n,R;cin >> n >> R;cin >> peo.x >> peo.y;while(n--){char c;int x,y,w;cin >> c >> x >> y >> w;// 判断当前点到隼人距离是否在 R 内// 是则,隼人 被发现if(dist(x,y) <= R){cout << "YES" << endl;return ;}if(c == 'U'){// 判断是否在线段之间,反之 则在线段端点if(y <= peo.y and peo.y <= y + w) y = peo.y;else if(peo.y > y + w) y += w;}if(c == 'D'){// 判断是否在线段之间,反之 则在线段端点if(y - w <= peo.y and peo.y <= y) y = peo.y;else if(peo.y < y - w) y -= w;}if(c == 'L'){// 判断是否在线段之间,反之 则在线段端点if(x - w <= peo.x and peo.x <= x) x = peo.x;else if(peo.x < x - w) x -= w;}if(c == 'R'){// 判断是否在线段之间,反之 则在线段端点if(x <= peo.x and peo.x <= x + w) x = peo.x;else if(peo.x > x + w) x += w;}// 判断移动的最短距离坐标点到隼人距离是否在 R 内// 是则,隼人 被发现if(dist(x,y) <= R){cout << "YES" << endl;return ;}}// 都没有被发现,输出 NOcout << "NO" << endl;
}

最后提交:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571765.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东方博宜 1963. 贝贝的选择

东方博宜 1963. 贝贝的选择 #include<iostream> using namespace std; int main() {int n ;cin >> n ;int cnt ;cnt 0 ;for(int i 1 ; i < n ; i){int j ;j i ;int g ;while(j>0){g j % 10 ;if (g6){cnt 1 ;break ;}j j / 10 ; }}if (cnt % 2 0)cou…

Scala介绍与环境搭建

Scala环境搭建与介绍 一、Scala环境搭建 1、环境准备与下载 2、验证Scala 3、IDEA新建项目&#xff0c;配置Scala&#xff0c;运行Hello world 二、Scala介绍 1、Scala 简介 2、Scala 概述 一、Scala环境搭建 1、环境准备与下载 JDK1.8 Java Downloads | Oracle 下载需求版本…

【wails】(10):研究go-llama.cpp项目,但是发现不支持最新的qwen大模型,可以运行llama-2-7b-chat

1&#xff0c;视频演示地址 2&#xff0c;项目地址go-llama.cpp 下载并进行编译&#xff1a; git clone --recurse-submodules https://github.com/go-skynet/go-llama.cpp cd go-llama.cpp make libbinding.a项目中还打了个补丁&#xff1a; 给 编译成功&#xff0c;虽然有…

164、应急响应——挖矿脚本检测指南样本定性文件清楚入口修复

文章目录 windows 挖矿脚本Linux挖矿脚本&#xff08;应急&#xff09;Windows挖矿脚本&#xff08;应急&#xff09; 挖矿的前提是&#xff0c;黑客已经取得了你电脑的权限&#xff0c;如何取得是重点。 判断被植入挖矿脚本&#xff0c;最重要的是看CPU和GPU占用情况。 win…

C++电子宠物商店

一、功能描述 店内有不同类型的电子宠物 1.每种电子宠物能通过显示出来的文本提出需要或表示情绪如&#xff1a;饿、渴、饱涨、困、不舒服、高兴、生气、伤心、绝望、无聊等。 2.店员用户通过键盘操作“饲养”电子宠物&#xff0c;给它实施喂饭、喂水、带它上厕所、陪它玩耍、…

《无名之辈》天涯镖局攻略:高效拉镖窍门!

《无名之辈》天涯镖局开启要注意什么&#xff0c;在这里&#xff0c;每一次运镖都是一次刺激的冒险&#xff0c;而掌握合适的策略将让你事半功倍。以下是天涯镖局的开启攻略&#xff0c;助你在危机四伏的路途上赢得胜利。 ① 拉取适当级别的包子和加速卡 在天涯镖局中&#xf…

Weaviate

文章目录 关于 Weaviate核心功能部署方式使用场景 快速上手 &#xff08;Python)1、创建 Weaviate 数据库2、安装3、连接到 Weaviate4、定义数据集5、添加对象6、查询1&#xff09;Semantic search2) Semantic search with a filter 使用示例Similarity searchLLMs and searchC…

2024 年 15 个最佳自动化 UI 测试工具【建议收藏】

Web 开发行业正在不断发展&#xff0c;许多最佳自动化 UI 测试工具可用于测试基于 Web 的项目&#xff0c;以确保它没有错误并且每个用户都可以轻松访问。这些工具可帮助您测试您的 Web 项目并使其完全兼容用户端的要求和需求。 UI 自动化测试工具可测试基于 Web 的应用程序或软…

【Java多线程】2——synchronized底层原理

2 synchronized底层原理 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记仓库&#x1f449;https://github.com/A-BigTree/tree-learning-notes 个人主页&#x1f449;https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点…

淘宝APP详情数据抓取技术揭秘:用Python实现自动化数据获取(附代码实例)

获取淘宝APP详情数据接口通常涉及到网络爬虫技术&#xff0c;因为淘宝作为一个大型电商平台&#xff0c;其数据并不直接对外公开提供API接口供第三方开发者使用。然而&#xff0c;通过模拟浏览器行为或使用淘宝开放平台提供的API&#xff08;如果有的话&#xff09;&#xff0c…

SpringBoot3的RabbitMQ消息服务

目录 预备工作和配置 1.发送消息 实现类 控制层 效果 2.收消息 3.异步读取 效果 4.Work queues --工作队列模式 创建队列text2 实体类 效果 5.Subscribe--发布订阅模式 效果 6.Routing--路由模式 效果 7.Topics--通配符模式 效果 异步处理、应用解耦、流量削…

Java八股文(SpringCloud Alibaba)

Java八股文のSpringCloud Alibaba SpringCloud Alibaba SpringCloud Alibaba Spring Cloud Alibaba与Spring Cloud有什么区别&#xff1f; Spring Cloud Alibaba是Spring Cloud的衍生版本&#xff0c;它是由Alibaba开发和维护的&#xff0c;相比于Spring Cloud&#xff0c;它在…