#include<iostream>
#include<cstdio>
using namespace std;
int t=0;
int q[10];
bool l[10],zx[20],fx[20];
void p(void)
{
t++;
printf("NO.%2d\n",t);
for(int i=1;i<=8;i++)
{
for(int j=1;j<=8;j++)
{
cout<<(q[i]==j)<<" ";
}
cout<<endl;
}
}
void dfs(int h)
{
if(h==9)
{
p();
return;
}
for(int i=1;i<=8;i++)
{
if(l[i]==0&&zx[i+h]==0&&fx[i-h+8]==0)
{
q[h]=i;
l[i]=1;
zx[i+h]=1;
fx[i-h+8]=1;
dfs(h+1);
l[i]=0;
zx[i+h]=0;
fx[i-h+8]=0;
}
}
}
int main()
{
//freopen("out.out","w",stdout);
dfs(0);
return 0;
}
求助大佬qwq