48分求调
查看原帖
48分求调
1260978
xycsc23楼主2024/9/6 09:13
#include<bits/stdc++.h>
using namespace std;
bool l[100], z[100], y[100];
int n, s=0;
void dfs(int j, string a){
	if(j==n){
		if(s<3)
			cout<<a<<'\n';
		s++;
		return;
	}
	for(int i=0;i<n;i++){
		if(!l[i] && !z[i+j] && !y[i-j+n]){
			l[i]=true;
			z[i+j]=true;
			y[i-j+n]=true;
			dfs(j+1, a+char(i+'1')+' ');
			l[i]=!true;
			z[i+j]=!true;
			y[i-j+n]=!true;
		}
	}
	return;
}
int main(){
	cin>>n;
	dfs(0, "");
	cout<<s;
	return 0;
}

评测记录

2024/9/6 09:13
加载中...