题目
需要将N个皇后放在N*N的棋盘上,条件是任何一个皇后都不能威胁其他皇后,即任何两个皇后都
不能吃掉对方。怎么实现这种情况呢?
思路
record[]来存储第i个皇后所在的列
设第i个皇后的位置为(i,record[i]),下一个摆放位置为(a,b),当满足|record[i]-b|==|i-a|时,表示这两个皇后在一条对角线上,当满足record[i]==b时,表示在同一列,这两种情况下均不能放置皇后。
我们可以将递归过程设计成逐行放置皇后的过程,下面是实现代码:
解题过程
1 |
|