前言

没想到这是\(\sf {tgD1T1}\)难度……

题目大意

有一个\(n\times n\) 的棋盘,有\(2n-2\) 个路障,在第\(i\) 秒会在\((x_i,y_i)\) 放置路障。求B君是否能从\((1,1)\) 走到\((n,n)\) 。

\(\sf Solution\)

模拟+bfs。

从起点开始,边走边放置路障。碰到路障就不继续走,找到一条路径就标记并break 。若搜完整个棋盘仍未找到路径,输出No,否则Yes

\(\sf {P.S.}\)

注意放置路障后该位置永久无法通行。如果只是单纯的判断,是会WA+MLE的……

\(\sf {Code}\)

#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
int t,n,a[2001],b[2001],xx,yy,dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
bool vis[1001][1001],flag;
struct node
{
int x,y,k;
} o;
queue<node>q;
int main()
{
scanf("%d",&t);
while(t--)
{
while(!q.empty())
q.pop();
memset(vis,0,sizeof(vis));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
vis[1][1]=true;flag=false;//初始化
scanf("%d",&n);
for(int i=1;i<=2*n-2;++i)
scanf("%d%d",&a[i],&b[i]);//读入
q.push((node){1,1,0});//入队
while(!q.empty())//bfs
{
o=q.front(),q.pop();
if(o.x==n&&o.y==n)//找到路径
{
printf("Yes\n");
flag=true;//标记
break;
}
vis[a[o.k-1]][b[o.k-1]]=1;//放置路障
for(int i=0;i<4;++i)
{
xx=o.x+dx[i],yy=o.y+dy[i];
if(xx<=0||yy<=0||xx>n||yy>n||vis[xx][yy]||a[o.k]==o.x&&b[o.k]==o.y)
continue;//判断不合法情况
vis[xx][yy]=true;q.push((node){xx,yy,o.k+1});//标记为已走并入队
}
}
if(flag==false)
printf("No\n");//未找到路径,输出No
}
return 0;
}

最新文章

  1. UNIX文件的权限之“设置用户ID位”
  2. UWP 解决Webview在Pivot里面无法左右滑动的问题
  3. 写简单游戏,学编程语言-python篇:大鱼吃小鱼
  4. QTableView 添加进度条
  5. 【xsy1230】树
  6. Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh
  7. SQL Server 基础 之 GROUP BY子句
  8. Android webkit 事件传递流程详解
  9. Fragstats景观分析研究
  10. PHP中的循环while、do...while、for、foreach四种循环。
  11. mongodb数据库备份迁移 windows -&gt; linux
  12. Swift基础之CoreData的使用
  13. Ubuntu12.04下安装NS3.25
  14. C语言面试题分类-&gt;位运算
  15. 远程过程调用(RPC)
  16. Nginx模块开发与架构解析(nginx安装、配置说明)
  17. Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4
  18. threading模块小结
  19. LabVIEW(十二):VI本地化-控件标题内容的修改
  20. 【Java】分布式RPC通信框架Apache Thrift 使用总结

热门文章

  1. LOJ6062「2017 山东一轮集训 Day2」Pair(Hall定理,线段树)
  2. 【设计模式】Java设计模式 - 动态代理
  3. js函数( 普通函数、箭头函数 ) 内部this的指向
  4. KingbaseES V8R6 维护管理案例之---Kstudio在CentOS 7启动故障
  5. kingbaseES V8R3数据安全案例之---审计记录清除案例
  6. KingbaseES V8R6 vacuum index_cleanup 选项
  7. 从Spring中学到的【1】--读懂继承链
  8. 装饰Hexo博客以及部署个人站点
  9. 《网页设计基础——CSS常用语法》
  10. Java中关键的知识点