#include<bits/stdc++.h>
using namespace std;
int a[110],b[110],c[110],d[110];
int n,sum=0;
void print(){
for(int i=1;i<n;i++) cout<<a[i]<<' ';
cout<<endl;
}
void dfs(int i){
for(int j=1;j<=n;j++){
if(c[i+j]&&d[i-j+n]&&b[j]){
a[i]=j;
b[j]=false;
c[i+j]=false;
d[i-j+n]=false;
if(i==n){
print();
sum++;
}
else dfs(i+1);
a[i]=0;
C++算法_N皇后问题加强版
于 2022-10-08 20:14:43 首次发布
这是一个使用C++实现的N皇后问题加强版的解决方案。通过深度优先搜索(DFS)策略,放置皇后并检查冲突,找到所有可能的解。程序会输出所有解并计算解的总数。
摘要由CSDN通过智能技术生成