1

我已经在以下位置运行了实现:http: //www.apl.jhu.edu/~hall/java/NQueens.java,它解决了具有 O(n) 时间复杂度的 N-queen 问题。它速度惊人,无需搜索即可帮助找到一种解决方案。但是,我不太清楚背后的逻辑。他们为什么把问题分成3个:奇数、偶数(但不是6k形式)、偶数(但不是6k+2形式)。任何人都可以检查代码并为我更详细地解释(仅逻辑)吗?

4

1 回答 1

0

他们分裂了问题,因为这两种结构都没有涵盖所有情况。可能如果您尝试证明它们在不良情况下有效,您会发现某个数字不是单位模 n。这是构造受约束的组合对象时非常典型的情况。例如,存在6k+1 和 6k+3 阶的Steiner 三重系统,但是模 6 的两个残基需要不同的构造。

于 2012-03-18T18:30:55.950 回答