求助
查看原帖
求助
369520
阿甘科技楼主2021/12/8 13:10
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
using namespace std;
bool d[100]={0},b[100]={0},c[100]={0};
int sum=0,a[100];
	int n;
int search(int);
int print();

int main(){

	cin>>n;
	search(1);
	
	cout<<sum;
	return 0;
}


int search(int i){
	while(i<=n){
	
		int j;
        for(j=1;j<=n;j++)
        if(!b[j]&&(!c[i+j])&&(!d[i-j+n]))
        {
            a[i]=j;
            b[j]=1;
            c[i+j]=1;
            d[i-j+n]=1;
             sum++;
             if(sum<4)print();
             search(i+1);
            b[j]=0;
            c[i+j]=0;
            d[i-j+n]=0;
           
            
        }
    }
}

    int print(){
       
       	for(int k=1;k<=n;k++)
            cout<<a[k]<<" ";
            cout<<endl;
        
		
	}```cpp
2021/12/8 13:10
加载中...