cpp
#include<bits/stdc++.h>
using namespace std;
int cnt,n=8,a[15],b[105],c[105],d[105];
void dfs(int x)
{
if(x==9)
{
cnt++;
for(int i=1;i<=n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return ;
}
for(int i=1;i<=n;i++)
{
if(b[i]==0&&c[i+x]==0&&d[i-x+7]==0)
{
b[i]=1;
c[i+x]=1;
d[i-x+7]=1;
a[x]=i;
dfs(x+1);
b[i]=0;
c[i+x]=0;
d[i-x+7]=0;
}
}
}
int main()
{
dfs(1);
cout<<cnt;
return 0;
}