题目
题目链接
题解DFS。 经典八皇后变形。
在经典八皇后的基础上加了另一个皇后,也要求满足同样的规则,按行dfs,搜索到每一行时,两重循环枚举每个黑皇后和白皇后的位置,再进行深搜就行,分开标记两种皇后的状访问列、主对角线和副对角线的状态。
看代码吧,代码配合注释食用最佳。
代码#include
using namespace std;
int mp[10][10];
int col1[20], col2[20], a1[20], a2[20], b1[20], b2[20]; // col表示列是否被占,a表示主对角线是否被占,b表示副对角线是否被占,1表示黑,2表示白(其实无论谁表示黑谁表示白)
int n, ans;
//int ansmp[10][10]; // 输出看布阵方式
void dfs(int x) {
if(x>n) {
ans ++;
// for(int i = 1;i
关注
打赏