BFS?
  • 板块题目总版
  • 楼主码农同志
  • 当前回复19
  • 已保存回复19
  • 发布时间2020/5/8 20:05
  • 上次更新2023/11/7 02:51:51
查看原帖
BFS?
268200
码农同志楼主2020/5/8 20:05

在一个标准8×8的国际象棋棋盘上,棋盘中有些格子可能是有障碍物的。已知骑士的初始位置和目标位置,你的任务是计算出骑士最少需要多少步可以从初始位置到达目标位置。有障碍物的格子当然不可以到达。

标准的8×8的国际象棋棋盘中每一个格子可以用唯一的编号确定。行用1~8这8个数字依次表示,列用a~h这8个字母依次表示。

输入

第1行是一个整数N(0≤N≤62),表示棋盘中有障碍物的格子数目

第2行含N个不同的有障碍物的格子编号,用空格隔开。当N=0时,无此行;

接下来行是骑士的初始格子和目标格子的编号,也是用空格隔开。初始格子和目标格子是不同的,且都没有障碍物。

输出

一个整数,表示骑士所用的最小的步数。如果骑士无法到达目标格子,输出-1 。

样例输入

10

c1 d1 d5 c2 c3 c4 d2 d3 d4 c5

a1 f1

样例输出

7

2020/5/8 20:05
加载中...