比赛 皇后 评测结果 AAAAAAAAAA
题目名称 N皇后问题 最终得分 100
用户昵称 Hyoi_0Koto 运行时间 0.005 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2017-03-19 18:34:07
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
bool d[100]={0},b[100]={0},c[100]={0};
int ans=0,a[100],n; 
int dfs(int x,int i){
	for(int j=1;j<=x;j++)
	 if((!b[j])&&(!c[i+j])&&(!d[i-j+x-1])){
	 	a[i]=j;b[j]=1;c[i+j]=1;d[i-j+x-1]=1;
	 	if(i==x){
	 		ans++;
		 }
		 else dfs(x,i+1);
		 b[j]=0;c[i+j]=0;d[i-j+x-1]=0;
	 }
}
int main(){
	freopen("queen.in","r",stdin);
	freopen("queen.out","w",stdout);
	cin>>n;
	dfs(n,1);
	cout<<ans;
	return 0;
}