N-Queens拼图,但有所有国际象棋的韵味

时间:2016-12-18 15:39:24

标签: backtracking chess n-queens variation

我想解决与N-Queens类似的问题,但是:

  • 所有国际象棋都是可用的
  • 用户输入要放置多少件(例如3辆车,4位骑士,1位主教)

我现在躺在地板上已经有一段时间了,但是不能为此目的调整回溯算法。我将非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

原则上,与经典N-Queen问题相同的方法应该有效:

  1. 找一个空的,未受攻击的广场,你可以放置下一件
  2. 递归搜索新位置(或者如果您已经放置了所有部分,则输出解决方案)
  3. 取回最后放置的作品并重复(转到步骤1),直到您尝试了所有可放置下一张的正方形
  4. 经典N-Queens问题的唯一区别是不同的部分具有不同的攻击模式。一些常见的优化可能不再有效。例如,如果你有棋子,它会破坏对称性,因为它们只攻击它们前面的方块。 (尽管你的棋子仍有一个对称轴。)

    我希望回溯算法能够提高效率,如果你首先放置覆盖最广场的棋子:第一个皇后,然后是车手和主教,然后是骑士和国王,最后是典当。