AC题解:迷宫之判定
2024-08-14 09:14:20
发布于:北京
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//深搜模板
char s[900][950];
bool ok=false;
void dfs(long long x,long long y){
if(xn-1 && ym-1){
ok=true;
return;
}
for(int i=0;i<4;i++){
long long tx=x+dir[i][0];
long long ty=y+dir[i][1];
if(tx<0||tx>=n||ty<0||ty>=m||s[tx][ty]'1')
continue;
s[tx][ty]='1';
dfs(tx,ty);
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>s[i][j];
}
}
dfs(0,0);
if(oktrue){
cout<<"YES";
}
else{
cout<<"NO";
}
}
这里空空如也
有帮助,赞一个