algorithm - 给定一个马和棋盘上某些棋子的位置,马要杀死所有棋子最少需要跳多少步?

标签 algorithm graph chess breadth-first-search

在输入中,我们输入一个大小为 8x8 的棋盘,其中“K”是马,“P”(最小 1,最大 8)是兵,“.”是一个空的空间。所以我知道,对于一个 pawn,您只需要从马的初始位置运行 BFS 到 pawn 的位置,但是当我们有八个 pawn 时呢?当然我可以运行八个 BFS,但那样效率真的很低。有什么方法比运行 8 个 BFS 来找到杀死棋盘上所有 pawn 所需的最少步数更有效?

最佳答案

Knight's tour的特例并且可以使用分治法在线性时间内解决。

关于algorithm - 给定一个马和棋盘上某些棋子的位置,马要杀死所有棋子最少需要跳多少步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589356/

相关文章:

Java - 2D 数组操作正在影响索引的逆

algorithm - Prim 和 Kruskal 的应用,而不是寻找 MST

javascript - 免费的 JavaScript 棋盘

algorithm - 在多边形中找到成本最低的路径

arrays - 在字符串数组中查找特定字符/字母的算法?

sql - 如何统计图中常见的双向连接数

javascript - Google Timeline - 根据名称更改数据颜色

antlr4 - 为国际象棋 PGN 文件生成语法时出错

algorithm - 同步算法

java - 解析字符串以在 Java 中构造树