为何我样例过了全WA呢,悬关
#include <bits/stdc++.h>
using namespace std;
int b[3000][3000],n,aa[3000][3000],m,sum,k,p,x,y,ax[4]={1,0,-1,0},ay[4]={0,1,0,-1};
char a[3000][3000];
struct kkk{
int x,y,k;
};
queue<kkk> s;
int main() {
cin>>n>>m>>k>>p;
for(int i=1;i<=k;i++){
cin>>x>>y;
s.push((kkk){x,y,0});
}
while(!s.empty()){
kkk f=s.front();
for(int i=0;i<=3;i++){
int bx=f.x+ax[i];
int by=f.y+ay[i];
if(bx>=1&&bx<=n&&by>=1&&by<=m&&b[bx][by]==0){
//cout<<bx<<" "<<by<<" "<<f.k<<endl;
s.push((kkk){bx,by,f.k+1});
b[bx][by]=1;
aa[bx][by]=f.k+1;
}
}
s.pop();
}
for(int i=1;i<=p;i++){
cin>>x>>y;
cout<<aa[x][y]<<endl;
}
return 0;
}