dddklyz @ 2024-07-20 16:40:15
using namespace std; typedef long long int lint; char a[102][102]; bool mk[102][102]; bool flag; int n,m; void dfs(int x,int y){ if(x==m&&y==n){ flag=true; return; }//递归基 int dx[]={0,-1,0,1}; int dy[]={-1,0,1,0}; for(int i=0;i<4;i++){ int tx=x+dx[i]; int ty=y+dy[i]; if(tx<1||tx>m||ty<1||ty>n){ continue; } if(a[tx][ty]!='#'&&mk[tx][ty]==false){ mk[x][y]=true; dfs(tx,ty); mk[x][y]=true; }
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
dfs(1,1);
if(flag) cout<<"Yes";
else cout<<"No";
return 0;
}
by Enmin @ 2024-08-05 14:02:52
请插入代码,根本看不清楚。