为啥没打cstdio也能运行,但交上去就不行
查看原帖
为啥没打cstdio也能运行,但交上去就不行
475143
gaojian2007楼主2021/8/6 12:14
#include<algorithm>
#include<queue>
#include<cstring>
using namespace std;
const int dx[10] = {0,1, 2, 2, 1, -1, -2, -2, -1};
const int dy[10] = {0,2, 1, -1, -2, -2, -1, 1, 2};
queue<pair<int,int> >q;
int n,m,x,y,a[501][501];
int main()
{
	cin>>n>>m>>x>>y;
	q.push(make_pair(x,y));
	memset(a,-1,sizeof a);
	a[x][y]=0;
	while(!q.empty())
	{
		int u=q.front().first,v=q.front().second;q.pop();
		for(int i=1;i<=8;i++)
		{
			int tx = u + dx[i], ty = v + dy[i];
			if((tx<1)||(tx>n)||(ty<1)||(ty>m))continue;
			if(a[tx][ty]==-1){a[tx][ty]=a[u][v]+1;
			q.push(make_pair(tx,ty));}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			printf("%-5d",a[i][j]);
		}
		cout<<endl;
	}
	return 0;
}```
2021/8/6 12:14
加载中...