广搜wa
  • 板块P1443 马的遍历
  • 楼主夜阑
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/8/19 17:24
  • 上次更新2023/11/4 10:01:56
查看原帖
广搜wa
243263
夜阑楼主2021/8/19 17:24
#include<iostream>
using namespace std;
struct node{int x,y;};
int n,m,x,y,s=0,map[410][410];
bool f[410][410];
node que[160010];
int main(){
	cin>>n>>m>>x>>y;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			map[i][j]=-1;
	int tou=1,wei=1;
	map[x][y]=s;
	que[wei].x=x;
	que[wei++].y=y;
	cout<<x<<' '<<y<<endl;
	while(tou!=wei){
		s++; 
		cout<<que[tou].x<<' '<<que[tou].y<<' '<<tou<<' '<<wei<<' '<<'%'<<endl;
		if(x-1>=1&&y-2>=1&&f[x-1][y-2]==0){que[wei].x=x-1;que[wei++].y=y-2;f[x-1][y-2]=1;map[x-1][y-2]=s;}
		if(x-2>=1&&y-1>=1&&f[x-2][y-1]==0){que[wei].x=x-2;que[wei++].y=y-1;f[x-2][y-1]=1;map[x-2][y-1]=s;}
		if(x-2>=1&&y+1<=m&&f[x-2][y+1]==0){que[wei].x=x-2;que[wei++].y=y+1;f[x-2][y+1]=1;map[x-2][y+1]=s;}
		if(x-1>=1&&y+2<=m&&f[x-1][y+2]==0){que[wei].x=x-1;que[wei++].y=y+2;f[x-1][y+2]=1;map[x-1][y+2]=s;}
		if(x+1<=n&&y+2<=m&&f[x+1][y+2]==0){que[wei].x=x+1;que[wei++].y=y+2;f[x+1][y+2]=1;map[x+1][y+2]=s;}
		if(x+2<=n&&y+1<=m&&f[x+2][y+1]==0){que[wei].x=x+2;que[wei++].y=y+1;f[x+2][y+1]=1;map[x+2][y+1]=s;}
		if(x+2<=n&&y-1>=1&&f[x+2][y-1]==0){que[wei].x=x+2;que[wei++].y=y-1;f[x+2][y-1]=1;map[x+2][y-1]=s;}
		if(x+1<=n&&y-2>=1&&f[x+1][y-2]==0){que[wei].x=x+1;que[wei++].y=y-2;f[x+1][y-2]=1;map[x+1][y-2]=s;}
		tou++;
	} 
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){cout<<map[i][j]<<' ';}
		cout<<endl;
	}
	return 0;
} 

为什么答案一直是wa?

2021/8/19 17:24
加载中...