P1219八皇后题解
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f
#define dbg(x) cout<<#x<<"="<<x<<endl;
#define io ios::sync_with_stdio(false);cin.tie(nullptr);
//------------------------------------------------------
const int N=1e3+10;
int n,m;
int i,j,k;
string s;
int vis[100],l1[100],l2[100];
int a[100];
int cnt;
//--------------------solve()---------------------------
void dfs(int u) {
if(u>n) {
cnt++;
if(cnt<=3) {
for(int i=1; i<=n; ++i) {
cout<<a[i]<<" \n"[i==n];
}
}
return;
}
for(int i=1; i<=n; i) {
if(!vis[i]&&!l1[i-u+n]&&!l2[i+u]) {
a[u]=i;
vis[i]=1;
l1[i-u+n]=1;
l2[i+u]=1;
dfs(u+1);
vis[i]=0;
l1[i-u+n]=0;
l2[i+u]=0;
}
}
}
void solve(int T) {
cin>>n;
dfs(1);
cout<<cnt;
}
//---------------------main()---------------------------
signed main() {
io;
int T=1;
// cin>>T;
for(int i=1; i<=T; i) {
solve(T);
}
return 0;
}