接着奏乐接着WA
查看原帖
接着奏乐接着WA
955954
Miracle_InDream楼主2023/8/10 14:50
#include<bits/stdc++.h>
using namespace std;
struct node{
	int x,y;
	int step;
}s;
int vis[405][405];
int n,m;
int dir[8][2]={-2,-1,-2,1,-1,-2,-1,2,1,-2,1,2,2,-1,2,1};
queue<node>que;
void bfs(){
	s.step=0;
	que.push(s);
	vis[s.x][s.y]=0;
	while(!que.empty())
	{
		node Now=que.front();
		que.pop();
		for(int i=0;i<8;i++)
		{
			node f;
			f.x=Now.x+dir[i][0];
			f.y=Now.y+dir[i][0];
			f.step=Now.step+1;
			if(f.x>=1&&f.x<=n&&f.y>=1&&f.y<=m&&vis[f.x][f.y]==-1)
			{
				vis[f.x][f.y]=f.step;
				que.push(f);
			}
		}
	}
}
int main()
{
	cin>>n>>m;
	cin>>s.x>>s.y;
	memset(vis,-1,sizeof(vis));
	bfs();
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout<<vis[i][j]<<"    ";
		}
		cout<<endl;
	}
}

这段时间做挂了一堆题QAQ

2023/8/10 14:50
加载中...