当前位置:网站首页>牛客2021暑期训练8-F-Robots
牛客2021暑期训练8-F-Robots
2022-07-15 15:11:00 【yl-9】
牛客2021暑期训练8-F-Robots
题意
一个 n ∗ m n*m n∗m 的地图, 0 0 0 可达 1 1 1 不可达,有三种机器人,只能向下走、只能向右走、可以向下向右走,对给的 q q q 个机器人能否从 ( x 1 , y 1 ) (x1,y1) (x1,y1)走到 ( x 2 , y 2 ) (x2,y2) (x2,y2)
题解
主要记录下 b i t s e t bitset bitset 存可达图
代码
#include<bits/stdc++.h>
#define Pb push_back
using namespace std;
const int N=509,M=5e5+9;
int n,m,q;
int ans[M];
char s[N][N];
struct node
{
int t,x,y,p;
};
vector<node>v[N][N];
bitset<N*N>mp[N];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
scanf("%s",s[i]+1);
cin>>q;
for(int i=1;i<=q;i++)
{
int t,x1,y1,x2,y2;
cin>>t>>x1>>y1>>x2>>y2;
v[x2][y2].Pb(node{
t,x1,y1,i});
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(s[i][j]=='1') mp[j].reset();
else
{
mp[j]|=mp[j-1];
mp[j][(i-1)*m+j]=1;
}
for(auto k:v[i][j])
{
if(k.t==1) ans[k.p]=(k.y==j&&mp[j][(k.x-1)*m+k.y]);
else if(k.t==2) ans[k.p]=(k.x==i&&mp[j][(k.x-1)*m+k.y]);
else ans[k.p]=mp[j][(k.x-1)*m+k.y];
}
}
for(int i=1;i<=q;i++)
cout<<(ans[i]?"yes":"no")<<endl;
return 0;
}
边栏推荐
猜你喜欢

Talk about several ways spark implements topn

EN 1317-5道路约束系统产品—CE认证

简化IT供应商采用流程的六种方式

I / II. Advanced part - MySQL logical architecture, performance and join

争议中的换电:头部玩家的有限游戏

剑指Offer17-打印从1到最大的n位数-模拟

EN 1317-5 Road restraint system products - CE certification

nvidia-smi命令无法正常使用的解决方案

4、 Explain performance analysis

101.(cesium篇)cesium粒子系统-下雪
随机推荐
u-boot之顶层Makefile分析(二)之config.mk文件的生成
A new UI testing method: visual perception test
SQL Server存储过程多角度介绍建议收藏
Cookie与Session
Mutual conversion between tensor and img
VirtualBox:设置共享文件夹
Experience first! What kind of experience is it to write fluent in the browser?
Start of u-boot S analysis (I)
《遥远的救世主》遵守客观规律(一)——对王庙村能做什么分析
动态内存函数和常见的动态内存错误
剑指Offer17-打印从1到最大的n位数-模拟
Talk about several ways spark implements topn
基于ABP实现DDD--聚合和聚合根实践
栈的应用—
Start of u-boot S analysis (II)
Docker---Docker安装,Docker上MySQl安装,并将项目部署在Docker上
EN 1090-1钢结构和铝结构施工结构构件—CE认证
2021-11-15 how to splice thymeleaf href \src
1035. 不相交的线
Machine learning exercise 5 - bias and variance