//
// main.cpp
// E. 奇怪的机器人
//
// Created by SkyWave Sun on 2022/9/21.
//
#include <iostream>
using namespace std;
char a[102][102];
int n,m;
int stopx,stopy;
int ans;
bool mark[102][102];
void dfs(int x,int y) {
if (x == n && y == m) {
printf("Yes\n");
exit(0);
}
if (x < 1 || y < 1 || x > n || y > m) {
return;
}
if (!mark[x][y+1] && a[x][y+1] == '.') {//右
mark[x][y+1] = true;
dfs(x, y+1);
mark[x][y+1] = false;
}
if (!mark[x][y-1] && a[x][y-1] == '.') {//左
mark[x][y-1] = true;
dfs(x, y-1);
mark[x][y-1] = false;
}
if (!mark[x-1][y] && a[x-1][y] == '.') {//上
mark[x-1][y] = true;
dfs(x-1, y);
mark[x-1][y] = false;
}
if (!mark[x+1][y] && a[x+1][y] == '.') {//下
mark[x+1][y] = true;
dfs(x+1, y);
mark[x+1][y] = false;
}
}
int main(int argc, const char * argv[]) {
scanf("%d%d",&n,&m);
for (int i = 1; i<=n; ++i) {
scanf("%s",a[i]+1);
}
dfs(1, 1);
printf("No\n");
return 0;
}
我怕入门与面试的题目讨论版太冷门就跑这里来了