全紫!!!求助!
查看原帖
全紫!!!求助!
1303391
sizhenhualei楼主2024/7/17 10:27
#include<bits/stdc++.h>
using namespace std;
bool b[300],d[300],c[300];
int sum=0,a[300],x;
int search(int);
void print();

void print()
{
    int i;
    sum++;
	if(sum<=3){
    for (i=1;i<=x;i++)                                    
      cout<<a[i]<<" ";
    cout<<endl; 
	}
}

int search(int i){
	int j;
	for (j=1;j<=x;j++)//i行j个
	if((!b[j])&&(!c[i+j])&&(!d[i-j+30])){
		a[i]=j;
		b[j]=1;
		c[i+j]=1;
		d[i-j+30]=1;
		if(i==x) print();
		else search(i+1);
		b[j]=0;
		c[i+j]=0;
		d[i-j+30]=0;
	}
}

int main(){
	cin>>x;
	search(1);
	cout<<sum;
	return 0;
}
2024/7/17 10:27
加载中...