八皇后求助
查看原帖
八皇后求助
332549
幽灵特工楼主2021/3/14 16:54

输入8,输出结果总数1

#include <bits/stdc++.h>
using namespace std;
int a[60],b[60],c[60];int n,x;
void print(int w){
	if(w<3){
		for(int i=1;i<=n;i++){
			cout<<a[i]<<" ";
		}
		cout<<endl;	
	}
	x++;
}
void sol(int y){
	if(y>n){
		print(x);return;
	}
	for(int i=1;i<=n;i++){
		if((!a[i])&&(!b[y+i])&&(!c[y-i+n])){
			a[y]=i;
			b[y+i]=c[y-i+n]=1;
			sol(y+1);
			a[y]=b[y+i]=c[y-i+n]=0;
		}
	}
}
int main(){
	cin>>n;
	sol(1);
	cout<<x;
}
2021/3/14 16:54
加载中...