题目:B3625迷宫寻路 代码本地正确,洛谷CE
#include<bits/stdc++.h>
using namespace std;
int n,m;
char aa;
int flag=0;
int a[101][101];
int X[10]={0,0,0,1,-1,1,1,-1,-1};
int Y[10]={0,1,-1,0,0,1,-1,1,-1};
inline void fufu(int x,int y)
{
if(x==n&&y==m)
{
cout<<"Yes";
flag=1;
return ;
}
for(int i=1;i<=8;i++)
{
int x1=x+X[i],y1=y+Y[i];
if(x1>n || y1>m || x1<1 || y1<1)continue;
if(a[x1][y1]==0)
{
a[x1][y1]=1;
fufu(x1,y1);
}
}
if(x==1&&y==1)
{
cout<<"No";
flag=1;
return ;
}
return;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>aa;
if(aa=='#')a[i][j]=1;
}
}
fufu(1,1);
return 0;
}