题解 1460: 蓝桥杯基础练习VIP-2n皇后问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

优质题解

蓝桥杯基础练习VIP-2n皇后问题

**2n皇后问题分析**:与n皇后思路大体相同,首先搜索黑(或白)皇后的位置,每确定一次黑(或白)皇后的位置,搜索另一色皇后的位置,即两次搜索,如果可以找到结果,则cnt++,下文代码中用**visBlack[][]**和**visWhite[][]**记录黑白皇后分别有没有在该位置。

蓝桥杯基础练习VIP-2n皇后问题-题解(C++代码)

解题思路:用c++的全排列,先求出单个n皇后的所以解,再数学的C(count)取二减去一些有重复的列,因为不能同时放在同一个地方,最后再乘以2,因为两种方法可以互调。注意事项:参考代码:#includeusingnamespacestd;inta[11];intsits[

蓝桥杯基础练习VIP-2n皇后问题-题解(C++代码)

/*题目:2N皇后在8*8的网格中放入8个皇后皇后两两之间不可是同行同列同对角线(主对角线副对角线)解题分析:从0个皇后开始依次放置(一行一定有一黑一白皇后)枚举每列白黑皇后的情况进行递归求解到第N个皇后就回溯找其他的解定义intk表示列一个数组a[N][2]表示第n个皇后所在的位置一个数组col[N