P1443
  • 板块灌水区
  • 楼主LucasShenZG
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/3 21:33
  • 上次更新2024/7/4 09:16:10
查看原帖
P1443
565413
LucasShenZG楼主2024/7/3 21:33
#include<bits/stdc++.h>
using namespace std;
bool vis[405][405];
int a[405][405];
int dx[8]={-1,-2,-2,-1,1,2,2,1};
int dy[8]={2,1,-1,-2,-2,-1,1,2};
int n,m,x,y;
struct oo{
	int x,y;
};
queue<oo>q;
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m>>x>>y;
	vis[x][y]=true;
	q.push({x,y});
	while(!q.empty()){
		oo nw=q.front();
		q.pop();
		for(int i=0;i<8;i++){
			int nx=nw.x+dx[i];
			int ny=nw.y+dy[i];
			if(!(1<=nx&&nx<=n&&1<=ny&&ny<=m&&vis[nx][ny]==0))continue;
				vis[nx][ny]=true;
				q.push({nx,ny});
				a[nx][ny]=a[nw.x][nw.y]+1;
			
		}
	}
	int u=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				if(i==x&&j==y)printf("%-5d",u);
				else if(a[i][j]==0)printf("%-5d",-1);
				else printf("%-5d",a[i][j]);
			}
			cout<<endl;
		}
}

为什么我把最后输出的endl改为printf("\n");就能从50分变成AC?

2024/7/3 21:33
加载中...