2,4点WA,求助!!!
查看原帖
2,4点WA,求助!!!
480674
许宇智xyz楼主2022/8/2 14:41
#include<bits/stdc++.h>
using namespace std;
char a[2001][2001];
struct text{
    int x,y;
};
int d[2001][2001],n,m,sx,sy;
bool v[2001][2001];
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
void bfs(){
    queue<text> q;
    q.push({sx,sy});
    d[sx][sy]=0;
    v[sx][sy]=1;
    while(!q.empty()){
        text t=q.front();
        q.pop();
        for (int i = 0; i < 4; i ++ ){
            int nx=t.x+dx[i];
            int ny=t.y+dy[i];
            if(nx>=0&&nx<n&&ny>=0&&ny<m&&!v[nx][ny]){
                q.push({nx,ny});
                d[nx][ny]=d[t.x][t.y]+1;
                v[nx][ny]=1;;
                if(a[nx][ny]=='d'){
                    cout << d[nx][ny];
                    return;
                }
            }
        }
    }
}
int main()
{
    cin>>n>>m;
    for (int i = 0; i < n; i ++ ){
        for (int j = 0; j < m; j ++ ){
            cin>>a[i][j];
            if(a[i][j]=='m') sx=i,sy=j;
            if(a[i][j]=='#') v[i][j]=1;
        }
    }
    bfs();
    return 0;
}
2022/8/2 14:41
加载中...