90!!!就差一点

B3625 迷宫寻路

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_ nm 没必要互换吧。

不然可能图像会转变,导致答案错误。

哪个 i<=m j<=n a[m][n] 记得改一下。


by H2O2_ @ 2024-07-25 17:44:11

@lcfollower a——
我加了一个判断

if(m>n)swap(m,n);

emm——
总之我过了


|