一般n皇后代码如下
输入n 输出方案个数
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn=30;
int n,tot;//tot初始化
int vis[maxn][3];
int C[maxn];
void search(int cur){
if(cur==n) tot++;//不是n-1
else {
for(int i=0;i<n;i++)if(!vis[i][0]&&!vis[cur-i+n][1]&&!vis[cur+i][2]){
C[cur]=i;
vis[i][0]=vis[cur-i+n][1]=vis[cur+i][2]=1;
search(cur+1);
vis[i][0]=vis[cur-i+n][1]=vis[cur+i][2]=0;
}
}
}
int main(){
memset(vis,0,sizeof(vis));
memset(C,0,sizeof(C));
cin>>n;
tot=0;
search(0);
cout<<tot;
system("pause");
return 0;
}