社区讨论

蒟蒻求助

P1443马的遍历参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo8f38fh
此快照首次捕获于
2023/10/27 17:34
2 年前
此快照最后确认于
2023/10/27 17:34
2 年前
查看原帖
对了前三个点,后面全TLE
C
#include <bits/stdc++.h>
using namespace std;
int Nmap[405][405],nx[10]={-2,-2,-1,-1,1,1,2,2},ny[10]={-1,1,-2,2,-2,2,-1,1};    
struct E{
	int x,y,bs;	
}a;

int main(){
	int n,m,x,y;
	cin>>n>>m>>x>>y;
	queue<E> dl;
	a.x=x,a.y=y,a.bs=1;
	dl.push(a);//初始化
	while(!dl.empty()){//如果队列空了就停止 
		Nmap[dl.front().x][dl.front().y]=dl.front().bs;
		for(int i=0;i<8;i++){
			if(dl.front().x+nx[i]>=1&&dl.front().x+nx[i]<=n&&dl.front().y+ny[i]>=1&&dl.front().y+ny[i]<=m&&Nmap[dl.front().x+nx[i]][dl.front().y+ny[i]]==0){             
				E Ndl;
				Ndl.x=dl.front().x+nx[i];
				Ndl.y=dl.front().y+ny[i];
				Ndl.bs=dl.front().bs+1;
				dl.push(Ndl);
			}
		}
		dl.pop();
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			Nmap[i][j]--;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			printf("%-5d",Nmap[i][j]);
		}
		printf("\n");
	}
}

回复

1 条回复,欢迎继续交流。

正在加载回复...