#include<bits/stdc++.h>
using namespace std;
int a[9]={0,1,2,3,4,5,6,7,8},s,i,j;
int pd(){
for(i=1;i<8;i++)
for(j=i+1;j<=8;j++)
if(abs(a[i]-a[j])==j-i)return 0;
return 1;
}
int main(){
do{
if(pd()){
s++;
printf("No. %d\n",s);
for(i=1;i<=8;i++)
for(j=1;j<=8;j++)
printf("%d%c",a[i]==j?1:0,j==8?'\n':' ');
}
}while(next_permutation(a+1,a+9)&&s<10);
return 0;
}
八皇后求解
最新推荐文章于 2023-05-29 12:37:31 发布