我想解决类似于 N-Queens 的问题,但是:
- 所有棋子都可用
- 用户输入要放置多少件(例如 3 个车、4 个骑士、1 个主教)
我现在在地板上躺了一段时间,但想不出如何为此目的调整回溯算法。我将非常感谢任何形式的帮助。
我想解决类似于 N-Queens 的问题,但是:
我现在在地板上躺了一段时间,但想不出如何为此目的调整回溯算法。我将非常感谢任何形式的帮助。
原则上,与经典 N-Queen 问题相同的方法应该有效:
与经典 N-Queens 问题的唯一区别是不同的部分具有不同的攻击模式。一些常见的优化可能不再起作用。例如,如果你有棋子,它会破坏对称性,因为它们只会攻击它们前面的方格。(尽管即使有棋子,您仍然有一个对称轴。)
如果您首先放置覆盖最多方格的棋子,我希望回溯算法更有效:首先是皇后,然后是车和象,然后是骑士和国王,最后是棋子。