信奥赛CSP-J复赛集训(bfs专题)(5):洛谷P3395:路障

信奥赛CSP-J复赛集训(bfs专题-刷题题单及题解)(5):洛谷P3395:路障

在这里插入图片描述

题目描述

B 君站在一个 n × n n\times n n×n 的棋盘上。最开始,B君站在 ( 1 , 1 ) (1,1) (1,1) 这个点,他要走到 ( n , n ) (n,n) (n,n) 这个点。

B 君每秒可以向上下左右的某个方向移动一格,但是很不妙,C 君打算阻止 B 君的计划。

每秒结束的时刻,C 君 会在 ( x , y ) (x,y) (x,y) 上摆一个路障。B 君不能走在路障上。

B 君拿到了 C 君准备在哪些点放置路障。所以现在你需要判断,B 君能否成功走到 ( n , n ) (n,n) (n,n)

保证数据足够弱:也就是说,无需考虑“走到某处然后被一个路障砸死”的情况,因为答案不会出现此类情况。

输入格式

首先是一个正整数 T T T,表示数据组数。

对于每一组数据:

第一行,一个正整数 n n n

接下来 2 n − 2 2n-2 2n2 行,每行两个正整数 x x x y y y,意义是在那一秒结束后, ( x , y ) (x,y) (x,y) 将被摆上路障。

输出格式

对于每一组数据,输出 YesNo,回答 B 君能否走到 ( n , n ) (n,n) (n,n)

样例 #1

样例输入 #1

22
1 1
2 25
3 3
3 2
3 1
1 2
1 3
1 4
1 5
2 2

样例输出 #1

Yes
Yes

提示

样例解释:

以下 0 表示能走,x 表示不能走,B 表示 B 君现在的位置。从左往右表示时间。

Case 1:
0 0    0 0    0 B  (已经走到了)
B 0    x B    x 0
Case 2:
0 0 0 0 0    0 0 0 0 0    0 0 0 0 0    0 0 0 0 0
0 0 0 0 0    0 0 0 0 0    0 0 0 0 0    0 0 0 0 0
0 0 0 0 0    0 0 x 0 0    0 0 x 0 0    0 0 x 0 0
0 0 0 0 0    0 0 0 0 0    0 0 x 0 0    0 0 x 0 0
B 0 0 0 0    0 B 0 0 0    0 0 B 0 0    0 0 x B 0 ......(B君可以走到终点)

数据规模:

防止骗分,数据保证全部手造。

对于 20 % 20\% 20% 的数据,有 n ≤ 3 n\le3 n3

对于 60 % 60\% 60% 的数据,有 n ≤ 500 n\le500 n500

对于 100 % 100\% 100% 的数据,有 n ≤ 1000 n\le1000 n1000

对于 100 % 100\% 100% 的数据,有 T ≤ 10 T\le10 T10

AC代码(100分)

#include<bits/stdc++.h>
using namespace std;
int T,n,x,y; 
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0}; 
//创建结构体:存储一个点的坐标 
struct point{int x,y;
}q[1000010],z[2000];//q数组用与广搜维护队列,z数组存放障碍点 
bool vis[1010][1010];//标记数组
bool f;//标记是否有结果//广搜
void bfs(){int head=1,tail=1,t=1;//t用于计时,当前是第1秒 q[head].x=1;//起点入队 q[head].y=1;vis[1][1]=1;//标记起点走过while(head<=tail){if(q[head].x==n && q[head].y==n){//判断是否到终点 f=1;//标记能出break;//退出循环 }for(int i=0;i<=3;i++){int nx=q[head].x+dx[i];int ny=q[head].y+dy[i];if(nx>=1 && nx<=n && ny>=1 && ny<=n && vis[nx][ny]==0){tail++;q[tail].x=nx;//新点入队 q[tail].y=ny;vis[nx][ny]=1;//标记新点 }}//1秒过后,放入障碍点vis[z[t].x][z[t].y]=1;t++;//模拟时间:下一秒head++;//队首出队 } } 
int main(){cin>>T;while(T--){cin>>n;//多组测试数据,一定要记得初始化数组和标记 memset(q,0,sizeof(q));memset(z,0,sizeof(z));memset(vis,0,sizeof(vis));f=0; //输入障碍点并存储到z数组中 for(int i=1;i<=2*n-2;i++){cin>>x>>y;z[i].x=x;//第i秒结束时所放路障的坐标 z[i].y=y; }//广搜 bfs(); //输出 if(f==1) cout<<"Yes"<<endl;else cout<<"No"<<endl; }return 0;
}

文末彩蛋:

点击王老师青少年编程主页有更多精彩内容

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

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

相关文章

OpenCV的图像矫正

一、原理 图像矫正的原理是透视变换&#xff0c;下面来介绍一下透视变换的概念。 透视变换&#xff08;Perspective Transform&#xff09;基于一个4对点的映射关系&#xff08;4个源点到4个目标点&#xff09;&#xff0c;通过这些点之间的映射&#xff0c;可以计算一个变换…

vscode 打开 setting.json

按下Ctrl Shift P&#xff08;Windows/Linux&#xff09;或Cmd Shift P&#xff08;Mac&#xff09;来打开命令面板。输入open settings&#xff0c;然后选择 Open User Settings(JSON)。打开settings.json文件 ------修改设置-----&#xff1a; 1、 html代码的行长度&am…

打电话玩手机识别-支持YOLO,COCO,VOC格式的标记,超高识别率可检测到手持打电话, 非接触式打电话,玩手机自拍等

打电话玩手机识别-支持YOLO&#xff0c;COCO&#xff0c;VOC格式的标记&#xff0c;超高识别率可检测到手持打电话&#xff0c; 非接触式打电话&#xff0c;玩手机自拍等1275个图片。 手持打电话&#xff1a; 非接触打电话 玩手机 数据集下载 yolov11:https://download.csdn…

外卖开发(八)—— SpringTask(定时任务) 和 WebSocket网络协议

外卖开发&#xff08;八&#xff09;—— SpringTask 和 WebSocket 一、利用SpringTask完成定时任务1、cron表达式2、springtask实现 二、使用webSocket实现接单、催单提醒1、代码分析2、催单提醒 一、利用SpringTask完成定时任务 Spring Task是Spring框架提供的任务调度工具&…

嵌入式系统中的并行编程模型:汇总解析与应用

概述&#xff1a;随着嵌入式系统处理能力的不断提升&#xff0c;并行编程在其中的应用愈发广泛。本文深入探讨了多种专门为嵌入式设计的并行编程模型&#xff0c;包括任务队列模型、消息传递模型、数据并行模型、异构多核并行模型、实时任务调度模型以及函数式并行模型。详细阐…

MTK 配置文件梳理

文章目录 MTK 日常配置总结屏幕默认横竖屏显示ro.build.characteristics 属性修改修改点一&#xff1a;build\core\product_config.mk修改点二&#xff1a;build\make\core\main.mk修改是否成功&#xff0c;adb 验证 配置部分系统app handheld_product.mk配置系统属性、第三方应…

CentOS 上如何查看 SSH 服务使用的端口号?

我们知道&#xff0c;linux操作系统中的SSH默认情况下&#xff0c;端口是使用22&#xff0c;但是有些线上服务器并不是使用的默认端口&#xff0c;那么这个时候&#xff0c;我们应该如何快速知道SSH使用的哪个端口呢&#xff1f; 1、通过配置文件查看 cat /etc/ssh/sshd_confi…

关于Redis哨兵机制实验操作步骤

需要搭建帮助的可以去taobao搜索Easy Company技术服务&#xff0c;谢谢&#xff01;&#xff01;&#xff01; 需要搭建帮助的可以去taobao搜索Easy Company技术服务&#xff0c;谢谢&#xff01;&#xff01;&#xff01; 一、配置哨兵(sentinel) 创建三个哨兵配置文件&…

Vue 集成地图

电子地图应用广泛&#xff1a; 网约车 : 在网约车 场景中实现 准定位 、导航 、司乘同显 &#xff0c;精准计费 智慧物流、生活服务等&#xff0c;本专题课程囊括各类应用场景 学习 电子地图解决方案&#xff0c;满足学员工作学习各类需求。 基础知识 学习 集成 地图之前需…

Qt-chart 画折线图(文字x轴)

图 代码 QLineSeries *seriesReality new QLineSeries();seriesReality->setColor(Qt::green);QLineSeries *seriesTar new QLineSeries();seriesTar->setColor(Qt::yellow);// 创建并配置X轴&#xff08;文字标签&#xff09;QStringList categories;for (int i 0; …

农业园区气象站

农业园区气象站是一种专为农业生产和科研设计的气象监测设备&#xff0c;它集成了多种传感器和技术&#xff0c;用于实时、准确地监测和记录农业园区内的气象数据。以下是农业园区气象站的主要功能和用处&#xff1a; 一、主要功能 实时监测&#xff1a;农业园区气象站能够实时…

DocFlow票据AI自动化处理工具:出色的文档解析+抽取能力,提升企业文档数字化管理效能

目录 财务应付 金融信贷业务 近期&#xff0c;DocFlow票据自动化产品正式上线。DocFlow是一款票据AI自动化处理工具&#xff0c;支持不同版式单据智能分类扩展&#xff0c;可选功能插件配置流程&#xff0c;满足多样业务场景。 随着全球化与信息化进程&#xff0c;企业的文件…

用于卫星影像间接RPC模型精化的通用光束法平差方法

引言 介绍了通用RPC模型的表达式&#xff0c;which has been down to death 描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。 每个影像都会对应一个三维点云&#xff0c;但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的&#xff0c;所以才需…

Cerebras 推出 CePO,填补推理与规划能力的关键空白

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

AAAI 2025 camera ready提交注意事项

您必须在截止日期前填写、签署并返回 AAAI 版权表&#xff08;除非 AAAI Press 指示使用 AAAI 分发许可证&#xff09;。 您必须根据作者的格式说明阅读并格式化您的论文和 PDF。 您必须使用我们的电子提交表格准时提交您的电子文件和摘要。 您必须向 AAAI Press 支付任何所需的…

Maven学习(Maven项目模块化。模块间“继承“机制。父(工程),子项目(模块)间聚合)

目录 一、Maven项目模块化&#xff1f; &#xff08;1&#xff09;基本介绍。 &#xff08;2&#xff09;汽车模块化生产再聚合组装。 &#xff08;3&#xff09;Maven项目模块化图解。 1、maven_parent。 2、maven_pojo。 3、maven_dao。 4、maven_service。 5、maven_web。 6…

关于GaussDB

一、GaussDB的层级关系 &#xff0c;关于schemas的定位&#xff0c;到底是个什么&#xff0c;其实就可以理解为一个文件夹 数据库服务器 --> databases --> schemas --> tables schema类似于文件夹&#xff0c;一个数据库database里面可以有多个文件夹&#xff0c;每…

对流层路径延迟对SAR方位压缩的影响(CSDN_20240301)

目录 仿真参数 方位向脉冲压缩与高阶多普勒参数的关系 仿真结果 2m分辨率 1m分辨率 0.5m分辨率 0.3m分辨率 0.2m分辨率 0.1m分辨率 0.05m分辨率 小结 对流层路径延迟对方位脉冲压缩的影响 仿真参数 地球参数 赤道半径&#xff08;m&#xff09; 6378140 极半径&a…

xss原理分析与剖析

001 第三方劫持 (外调J/C)&#xff1a; 本方法是我看长短短贴代码时知晓的&#xff0c;这篇文章我只是把这个攻击手法整理了出来&#xff0c;来说明这个漏洞&#xff0c;这个攻击手法并不是我发现的&#xff0c;我也不是太清楚是谁。“第三方劫持”就是把资源域的服务器的权限…

使用阿里云搭建镜像仓库

流程如图 接着登录到安装docker的客户机上 #执行如下操作 先登录 docker login --usernamealiyun2933717661 crpi-q5qqr0d39o6em66u.cn-beijing.personal.cr.aliyuncs.com Password: #输入密码 WARNING! Your password will be stored unencrypted in /root/.docker/config.j…