为啥结果与答案一样全爆WA了
查看原帖
为啥结果与答案一样全爆WA了
473373
Aronld_66楼主2022/4/6 10:50

提示WA后,我把数据下载了下来自己运行之后,发现我的结果和官方给的结果一样,为什么WA了?

#include<bits/stdc++.h>
using namespace std;

#define N 410
#define x first
#define y second
typedef pair<int,int> PII;
int n,m,x,y;
int g[N][N];

void bfs(PII start){
	queue<PII> q;
	q.push(start);
	g[start.x][start.y]=0;
	
	int dx[8]={2,1,-2,-1,2,1,-2,-1},dy[8]={1,2,1,2,-1,-2,-1,-2};
	while(q.size()){
		PII t=q.front();
		q.pop();
		for(int i=0;i<8;i++){
			int tx=t.x+dx[i],ty=t.y+dy[i];
			if(tx<1||tx>n||ty<1||ty>m) continue;
			if(g[tx][ty]!=-1) continue;
			
			g[tx][ty]=g[t.x][t.y]+1;
			q.push({tx,ty});
		} 
	}
}

int main(){
	cin>>n>>m>>x>>y;
	PII start;
	start={x,y};
	memset(g,-1,sizeof(g));
	bfs(start);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<g[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2022/4/6 10:50
加载中...