样例对了但没过
查看原帖
样例对了但没过
543116
YJXe楼主2022/12/2 13:02
#include<bits/stdc++.h>
using namespace std;
int a[100][14],b[14],c[20],d[20],n,s,f[14];
void print(){
	s++;
	for(int i=1;i<=n;i++){
		a[s][i]=f[i];
	}
}
void bhh(int i){
	for(int j=1;j<=n;j++){
		if(b[j]==0&&c[i-j+n]==0&&d[i+j]==0){
			f[i]=j;
			b[j]=1;
			c[i-j+n]=1;
			d[i+j]=1;
			if(i==n){
				print();
			}
			else{
				bhh(i+1);
			}
			b[j]=0;
			c[i-j+n]=0;
			d[i+j]=0;
		}
	}
}
int main(){
	cin>>n;
	bhh(1);
	for(int i=1;i<=3;i++){
		for(int j=1;j<=n;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	cout<<s;
	return 0;
}
2022/12/2 13:02
加载中...