如题
#include <bits/stdc++.h>
#define int long long
using namespace std;
int dx[]={0,-1,1,0};
int dy[]={-1,0,0,1};
char a[105][105];
bool vis[105][105];
int n,m;
bool dfs(int i,int j){
if (!i||!j||i>n||j>m||a[i][j]=='#'||vis[i][j]) return false;
if (i==n&&j==m) return true;
vis[i][j]=1;
for (int k=0;k<4;k++){
if (dfs(i+dx[k],j+dy[k])) return true;
}
}
signed main(){
cin>>n>>m;
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++) cin>>a[i][j];
}
if (dfs(1,1)) cout<<"Yes";
else cout<<"No";
return 0;
}