在输入中,我们输入一个大小为 8x8 的棋盘,其中“K”是马,“P”(最小 1,最大 8)是兵,“.”是一个空的空间。所以我知道,对于一个 pawn,您只需要从马的初始位置运行 BFS 到 pawn 的位置,但是当我们有八个 pawn 时呢?当然我可以运行八个 BFS,但那样效率真的很低。有什么方法比运行 8 个 BFS 来找到杀死棋盘上所有 pawn 所需的最少步数更有效?
最佳答案
是Knight's tour的特例并且可以使用分治法在线性时间内解决。
关于algorithm - 给定一个马和棋盘上某些棋子的位置,马要杀死所有棋子最少需要跳多少步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589356/