H2O2_ @ 2024-07-25 17:19:52
必关注
#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[110][110];
void dfs(int x,int y){
a[x][y]='#';
if(a[x+1][y]=='.') dfs(x+1,y);
if(a[x-1][y]=='.') dfs(x-1,y);
if(a[x][y+1]=='.') dfs(x,y+1);
if(a[x][y-1]=='.') dfs(x,y-1);
return ;
}
int main(){
cin>>n>>m;
if(m>n)swap(m,n);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
dfs(1,1);
if(a[m][n]=='#')cout<<"Yes";
else cout<<"No";
return 0;
}
by lcfollower @ 2024-07-25 17:27:50
@H2O2_
不然可能图像会转变,导致答案错误。
哪个 i<=m
j<=n
a[m][n]
记得改一下。
by H2O2_ @ 2024-07-25 17:44:11
@lcfollower a——
我加了一个判断
if(m>n)swap(m,n);
emm——
总之我过了