//=======================存图
const int N=805; //-----------*4
int n,m;
string allN,subN;
void trans(){
char c\[\]=//-----------------------小写
{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
_for(i,0,15){
bitset<4> bit(i);
umpc\[i]=bit.to_string();
}
}
if (op==0){
if (tx>=n || tx<0 || ty>=4*m || ty<0 || alltxty=='0'){
continue;//--------"墙"
}
get(tx,ty,0);
}else{
if (tx>=n+2 || tx<0 || ty>=4*m+2 || ty<0 || subtxty=='1'){
continue;
}
get(tx,ty,1);
}
trans();//-------------调用
_for(l,0,n+1){
_for(r,0,4*m+1){
if (sublr=='0'){
cnt++;
get(l,r,1);//----------ij->lr
}
}
}