全MLE求助

B3625 迷宫寻路

hyh0174 @ 2024-03-18 21:50:47

#include<cstdio>
#include<queue>
#include<utility>
using namespace std;
const int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
queue<pair<int,int> >p;
char mp[101][101];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            scanf(" %c",&mp[i][j]);
    p.push(make_pair(1,1));
    while(!p.empty())
    {
        auto pk=p.front();
        p.pop();
        if(pk==make_pair(n,m))
        {
            printf("Yes");
            return 0;
        }
        for(int k=0;k<4;k++)
            if(mp[pk.first+dx[k]][pk.second+dy[k]]!='#')
                p.push(make_pair(pk.first+dx[k],pk.second+dy[k]));
    }
    printf("No");
    return 0;
}

|