我正在尝试编写代码来为 N-Queens 生成独特的解决方案。我能够为 N = 4 和 6(但不能为 N 的其他情况)生成正确的解决方案,并且已经消除了由于旋转 180 度和 90 度而产生非不同解决方案的情况。问题在于我对如何消除其他冗余案例的理解。
例如,对于 N = 5,我应该得到 2 个唯一的解决方案,但我正在生成 3 个。要消除的 2 个冗余解决方案是(第 3 个解决方案是正确的):
问----问----
--Q-- ----Q-
----问 -问---
-Q--- ----Q
---Q- --Q--