#include <bits/stdc++.h>
using namespace std;
int n,m;
char s[1005][1005];
const int D[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int q[100005][2],dist[1005][1005];
bool bfs(int sx,int sy,int ex,int ey){
memset(dist,255,sizeof(dist));
int f=1,r=1;
q[1][0]=sx,q[1][1]=sy;
dist[sx][sy]=0;
while(f<=r){
int x=q[f][0],y=q[f][1];
++f;
for(int i=0;i<4;i++){
int xx=x+D[i][0],yy=y+D[i][1];
if(xx<0||xx>n||yy<0||yy>m)continue;
if(s[xx][yy]!='#'&&dist[xx][yy]==-1)dist[xx][yy]=dist[x][y]+1,
q[++r][0]=xx,q[r][1]=yy;
}
}
if(dist[ex][ey]!=-1)return true;
return false;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)cin>>s[i]+1;
if(bfs(1,1,n,m))puts("Yes");
else puts("No");
}
本人已找到hack数据,但并未找到WA因
5 5
.....
##.##
#####
.....
.....
大佬们看看吧,球球了