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