大佬们康康 40分的
查看原帖
大佬们康康 40分的
1281317
Tania2013楼主2024/6/9 18:20
#include<bits/stdc++.h>
using namespace std;
int x[4]={0,0,1,-1},y[4]={1,-1,0,0};
char a[110][110];
int n,m,vis[105][105];
int flag=0;
void dfs(int x1, int y1)
{
    if(x1==n && y1==m)
    {
        flag=1;
        return;
    }
    for(int i=1;i<=4;i++)
    {
        int x2=x1+x[i],y2=y1+y[i];
        if (x2>=1 && x2<=n && y2>=1 && y2<=m && a[x2][y2]=='.' && vis[x2][y2]==0)
        {
            vis[x2][y2]=1;
            dfs(x2,y2);
        }
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
        }
    }
    vis[1][1]=1;
    dfs(1,1);
    if(flag)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    return 0;
}
2024/6/9 18:20
加载中...