鉴于骑士和某些棋子在棋盘中的位置,骑士必须做的最小跳跃次数才能杀死所有的棋子?

时间:2016-02-23 22:16:09

标签: algorithm graph chess breadth-first-search

在输入中我们输入一个大小为8x8的棋盘,其中'K'是骑士,'P'(最小1,最大8)是一个棋子,'。'是一个空的空间。所以我知道有一个棋子,你只需要从骑士的初始位置跑到BFS的位置,但是当我们有八个棋子的时候呢。当然我可以运行8个BFS,但这样效率会非常低。什么是比运行八个BFS更有效的方法来找到杀死棋盘上所有棋子所需的最少步骤?

1 个答案:

答案 0 :(得分:0)

这是Knight's tour的一个特例,可以使用分而治之的线性时间来解决。