我正在尝试以递归方式解决 8x8 棋盘上的 n-knights 问题。n-knights 问题是 n- queens 问题的变体,其中皇后被骑士替换。没有一块可以拿下另一块。
到目前为止我的代码:http: //pastebin.com/TVza3jVU。
输入包括必须放置在棋盘上的骑士数量。我的代码打印了很多正确的板
输出如下所示(示例):
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0 0 4
0 0 0 0 0 0 0 0 5
0 0 0 0 0 0 1 0 6
1 1 0 1 0 1 0 0 7
0 1 2 3 4 5 6 7
nrBoards = 49
“1”代表骑士。
我的问题如下:
0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0 0 4
0 0 0 0 0 0 0 0 5
0 0 0 0 0 0 0 0 6
0 0 0 0 0 0 0 0 7
0 1 2 3 4 5 6 7
这是我的脚本将打印的最后一块板。它永远不会在 [0][0] 上放置一个骑士。我不知道为什么。它还跳过了一些配置。我的递归有问题吗?