求助!!帮忙看一下,本题样例通过了,但是提交上去全部RE了。
查看原帖
求助!!帮忙看一下,本题样例通过了,但是提交上去全部RE了。
382747
weiqianhao2010楼主2022/11/29 23:36

帮忙看一下,这是我的代码:


#include<bits/stdc++.h>
using namespace std;
const int INF=-1e8;
queue<pair<int,int> > q;
int n,m,a,b;
int ax[100007],ay[100007];
int bx[100007],by[100007];
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
int t[505][505];
int main(){
    cin>>n>>m>>a>>b;
    for(int i=1;i<=505;i++){
        for(int j=1;j<=505;j++){
            t[i][j]=INF;
        }
    }
    for(int i=1;i<=a;i++){
        cin>>ax[i]>>ay[i];
        q.push(make_pair(ax[i],ay[i]));
        t[ax[i]][ay[i]]=0;
    }
    for(int i=1;i<=b;i++){
        cin>>bx[i]>>by[i];  
    }
    while(!q.empty()){
        int x,y;
        x=q.front().first;
        y=q.front().second;
        q.pop();
        for(int i=0;i<4;i++){
            int tx=x+dx[i];
            int ty=y+dy[i];
            if((t[tx][ty]!=INF)||(tx>n)||(tx<1)||(ty>m)||(ty<1)){
                continue;
            }else{
                t[tx][ty]=t[x][y]+1;
                q.push(make_pair(tx,ty));
            }
        }
        
    }
    for(int i=1;i<=b;i++){
        cout<<t[bx[i]][by[i]]<<endl;
    }
    return 0;
}
2022/11/29 23:36
加载中...