Miracle1024 @ 2023-05-31 21:22:41
如果你1、6、8、10 WA,那你可能是输出“No”的代码没有运行或没写
调试前代码
#include<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>
typedef long long int ll;
char mp[114][114];
int n,m;
bool vis[114][114]={0},fl=0;
using namespace std;
void dfs (int x,int y){
if(x<1||y<1||x>n||y>m)return ;
if(mp[x][y]=='#'||vis[x][y])return ;
if(mp[x][y]=='.')vis[x][y]=1;
if(x==n&&y==m){
cout<<"Yes";
fl=0;
return ;
}
dfs(x+1,y);
vis[x+1][y]=0;
dfs(x-1,y);
vis[x-1][y]=0;
dfs(x,y+1);
vis[x][y+1]=0;
dfs(x,y-1);
vis[x][y-1]=0;
}
int main ( )
{
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
dfs (1,1);
while(1);
if(fl)cout<<"No";
return 0;
}
更改:bool vis[114][114]={0},fl=0;
bool vis[114][114]={0},fl=1;
注:代码做了手脚,别想作壁