站外题求助
  • 板块学术版
  • 楼主lucky_loser
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/7/2 14:09
  • 上次更新2023/11/3 11:53:54
查看原帖
站外题求助
754146
lucky_loser楼主2023/7/2 14:09

全部WA

#include<bits/stdc++.h>
using namespace std;
int x,y,a[101][101];
int dx[13]={0,-2,-2,+2,+2,-1,-1,+1,+1,-2,-2,+2,+2};
int dy[13]={0,-1,+1,-1,+1,-2,+2,-2,+2,-2,+2,-2,+2};
void dfs(int x,int y,int step)
{
	a[x][y]=step; 
	for (int i=1;i<=12;i++) 
	{
		int nx=x+dx[i];
		int ny=y+dy[i];
		if (nx>=1&&nx<=20&&ny>=1&&ny<=20&&(a[nx][ny]==0||a[nx][ny]>step+1)) 
			dfs(nx,ny,step+1);
	}
}
int main()
{
	for(int i=1;i<=2;i++)
	{
		scanf("%d%d",&x,&y);
		memset(a,0,sizeof(a));
		dfs(x,y,0);
		printf("%d\n",a[1][1]);
	}
	return 0;
}

题目在这

2023/7/2 14:09
加载中...