92pts求助,悬关
查看原帖
92pts求助,悬关
1007495
xiaoyiteng楼主2023/11/25 19:16
#include <bits/stdc++.h>
using namespace std;
int n, m, k, nn, mm;
bool f[2005][2005];
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
queue<int> x;
queue<int> y;
void bfs()
{
	while(!x.empty())
	{
		int nx = x.front();
		int ny = y.front();
		f[nx][ny] = 1;
//		cout << nx << " " << ny << "\n";
		nn = nx;
		mm = ny;
		for (int i = 0; i < 4; i++)
		{
			int mx = nx+dx[i];
			int my = ny+dy[i];
			if (mx >= 1 && mx <= n && my >= 1 && my <= m && f[mx][my] == 0)
			{
				
				x.push(mx);
				y.push(my);
			}
		}
		x.pop();
		y.pop();
	}
}
int main()
{
	freopen("input.txt","r",stdin);
	freopen("output.txt","w",stdout);
	int xx, yy;
	cin >> n >> m >> k;
	for (int i = 1; i <= k; i++)
	{
		cin >> xx >> yy;
		x.push(xx);
		y.push(yy);
	}
	bfs();
	cout << nn << " " << mm;
	return 0;
 } 
2023/11/25 19:16
加载中...