#include <bits/stdc++.h>
using namespace std;
char a[108][108];
bool a1[108][108];
int n,m,sum=0;
int dfs(int x,int y){
if(x<1||y<1||x>n||y>m){
return 0;
}
if(x==m&&y==m){
return 1;
}
if(a1[x][y]){
sum+=dfs(x+1,y);
sum+=dfs(x+2,y);
sum+=dfs(x-1,y);
sum+=dfs(x-2,y);
sum+=dfs(x,y+1);
sum+=dfs(x,y+2);
sum+=dfs(x,y-1);
sum+=dfs(x,y-2);
if(sum>0) return sum;
}
else{
return 0;
}
}
int main() {
cin>>n>>m;
memset(a1,false,sizeof(a1));
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]=='0') a1[i][j]=true;
}
}
if(dfs(1,1)==0) cout<<"Boom!"<<endl;
else cout<<"Yes"<<endl;
return 0;
}
https://www.luogu.com.cn/paste/l401jz19
https://www.luogu.com.cn/record/101490580