#include<bits/stdc++.h>
using namespace std;
const int N=5e2+10;
int n,m;char ch[N][N];int q;
struct Node{
int stx,sty,op,id;
};
bitset<N*N> s[N];
vector<Node> v[N][N];
int ans[N*1000];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) cin>>ch[i]+1;
scanf("%d",&q);
for(int i=1;i<=q;i++){
int op,stx,sty,edx,edy;
scanf("%d%d%d%d%d",&op,&stx,&sty,&edx,&edy);
v[edx][edy].push_back({stx,sty,op,i});
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(ch[i][j]=='1') s[j].reset();
else{
s[j]|=s[j-1];
s[j][i*m+j]=1;
}
for(auto it:v[i][j]){
// cout<<it.id<<" "<<s[j][5]<<endl;
if(it.op==1&&s[j][it.stx*m+it.sty]==1&&it.sty==j) ans[it.id]=1;
else if(it.op==2&&s[j][it.stx*m+it.sty]==1&&it.stx==i) ans[it.id]=1;
else if(it.op==3&&s[j][it.stx*m+it.sty]==1) ans[it.id]=1;
}
}
}
for(int i=1;i<=q;i++){if(ans[i]==0) printf("no\n");else printf("yes\n");}
}
F-Robots_2021牛客暑期多校训练营8 bitset
最新推荐文章于 2022-08-07 16:22:24 发布