运行失败,全输出0,求助
查看原帖
运行失败,全输出0,求助
735164
pengqiushi楼主2023/8/19 22:01

代码如下:

#include<iostream>
#include<queue> 
using namespace std;
struct zhuobiao{
	int x;
	int y;
};
queue<zhuobiao> q;
int v[505][505];
int a[505][505];
struct {
	int x;
	int y;
} y[100005];
struct {
	int x;
	int y;
} z[100005];
int n,m;
int dx[8]={-1,0,0,1};
int dy[8]={0,-1,1,0};
int main()
{
	int n,m;
	cin>>n>>m;
	int A,B;
	cin>>A>>B;
	for(int i=1; i<=A; i++)
		cin>>y[i].x>>y[i].y;
	for(int i=1; i<=B; i++)
		cin>>z[i].x>>z[i].y;
	for(int k=1; k<=B; k++){
		for(int i=1; i<=500; i++)
			for(int j=1; j<=500; j++)
				v[i][j]=0;
		for(int i=1; i<=500; i++)
			for(int j=1; j<=500; j++)
				a[i][j]=0;
		q.push({z[k].x,z[k].y});
		while(q.empty()){
			zhuobiao wz=q.front();
			v[wz.x][wz.y]=1;
			q.pop();
			for(int i=0; i<4; i++){
				zhuobiao wz_next={wz.x+dx[i],wz.y+dy[i]};
				if(wz_next.x>=n&&wz_next.y<=m&&wz_next.x>=1&&wz_next.y<=n&&!v[wz_next.x][wz_next.y]){
					a[wz_next.x][wz_next.y]=a[wz.x][wz.y]+1;
					q.push(wz_next);
				}
			}
		}
		cout<<a[z[k].x][z[k].y]<<endl;
	}
	return 0;
}
2023/8/19 22:01
加载中...