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