RT
代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
int n,m,a,b,l,mp[1505][1505],q[10000000005][5],vis[505][505],x,y;
int dx[]={1,0,-1,0},dy[]={0,1,0,-1};
signed main(){
cin>>n>>m>>a>>b;
for(int i=1;i<=a;i++){
cin>>x>>y;
vis[x][y]=1;
l++;
q[l][0]=x,q[l][1]=y;
}
int x,y,head=l,tail=0;
while(tail<head){
tail++;
x=q[tail][0],y=q[tail][1];
vis[x][y]=1;
for(int i=0;i<4;i++){
int x1=x+dx[i],y1=y+dy[i];
if(x1<1||y1<1||x1>n||y1>m||vis[x1][y1]) continue;
vis[x1][y1]=1,mp[x1][y1]=mp[x][y]+1,q[++head][0]=x1,q[head][1]=y1;
}
}
for(int i=1;i<=b;i++){
cin>>x>>y;
cout<<mp[x][y]<<endl;
}
return 0;
}
求大佬、巨佬