瑞瑞 • 17天前
using namespace std; int a[11],t,z=0; void queen(int m,int n){
int i,j,k;
for(i=1;i<=m;i++){
t=0;
for(j=1;j<=n-1;j++)
if(i==a[j]||n-j==i-a[j]||n-j==a[j]-i){
t=1;
}
if(t==0){
a[n]=i;
if(n<m)queen(m,n+1);
}else{
z=1;
for(k=1;k<=m;k++){
cout<<a[k]<<" ";
}
cout<<endl;
return;
}
} } int main(){
int b;
cin>>b;
for(int i=1;i<=b;i++){
a[1]=i;
queen(b,2);
} if(z!=1){
cout<<"no solute!";
} return 0; }
评论:
请先登录,才能进行评论