怎么全WA了
查看原帖
怎么全WA了
1085582
fanfan2012楼主2024/7/6 08:35

谁能帮帮我?

#include<bits/stdc++.h>
using namespace std;
int m,n,a,b,x,y,x3,y3,dis[10001][10001];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
struct node{
	int x1,y1; 
};
void bfs(int x,int y){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(i!=x||j!=y)dis[i][j]=1e9;
			else dis[i][j]=0;
	}	
	queue<node> q;
	q.push({x,y});
	while(q.size()){
		int x2=q.front().x1,y2=q.front().y1;
		q.pop();
		for(int i=0;i<4;i++){
			int nx=x2+dx[i],ny=y2+dx[i];
			if(nx<1||nx>n||ny<1||ny>m)continue;
			if(dis[x2][y2]+1<dis[nx][ny]){
				dis[nx][ny]=dis[x2][y2]+1;
				q.push({nx,ny});
			}
		}
	}
}
}
int main(){
	cin>>m>>n>>a>>b;
	for(int i=1;i<=a;i++)cin>>x>>y;
	bfs(x,y);
	for(int i=1;i<=b;i++){
		cin>>x3>>y3;
		cout<<dis[x3][y3];
	}
	return 0;
}
2024/7/6 08:35
加载中...