algorithm - 骑士在 5 x 5 棋盘上的巡回赛从任何广场开始?

标签 algorithm recursion knights-tour

我只是想在这里检查我的逻辑......

我编写了代码来解决 Knight's Tour,它适用于 8x8 棋盘,让 Knight 在任何方格开始。

但是......在 5x5 的棋盘上,当从正方形 (0, 1) 开始时,我没有显示任何可能的解决方案。

我在 5x5 中尝试从第 0 行第 1 列开始骑士:

  1. 沃恩斯多夫之路
  2. 添加了 Roth(基于距中心的欧几里德距离的决胜局)。

因为那些没有产生解决方案,所以我编写的代码只是带有回溯的基本递归来测试每条可能的路径——在 1、0 上开始 5x5 时也没有找到解决方案。

我到处寻找 5x5 板的详尽解决方案列表,但一无所获。

从 0、1 方 block 开始,5x5 是不是就没有解了?

谢谢!

最佳答案

                             1   2   3   4     5

                          1 304  0   56   0    304

                          2  0   56   0   56    0

                          3  56  0   64   0    56

                          4  0   56    0  56   0

                          5 304   0   56   0   304

这可能会有所帮助。如果骑士从 (1,1) 开始,将有 304 个可能的骑士巡回赛,如果它从 (1,2) 开始,那么将没有骑士巡回赛。同样,如果骑士从 (3,3) 开始) 那么就有 64 种可能的骑士之旅。

关于algorithm - 骑士在 5 x 5 棋盘上的巡回赛从任何广场开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31411487/

相关文章:

sql - 如何使用非递归方法创建该月所有天的列表? (提供递归示例)

c++ - 骑士之旅回溯无限循环

c - 骑士之旅:您如何计算从左上方的田野到所有其他田野的距离?

arrays - 面试 - 为每个数组的元素找到更大的元素

c++ - C/C++ 中的 Euler 项目 #11

Java递归和 super 素数

c - 骑士游算法C实现性能

c++ - 求已知边的多边形面积 [C++]

c++ - 类似位移位的函数或算法,返回数字输入的四个字节输出

C++ 模板图形类,递归