记录编号 210605 评测结果 AAAAAAAAAA
题目名称 N皇后问题 最终得分 100
用户昵称 GravatarGaoErFu 是否通过 通过
代码语言 C++ 运行时间 0.017 s
提交时间 2015-11-28 15:57:49 内存使用 0.29 MiB
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
int N,y[20]={0},ans=0,flag;
void dfs(int deep)
{
	int i,j;
	if(deep==N+1){ans++;return ;}
	for(i=1;i<=N;i++)
	{	    flag=0;
			for(j=1;j<deep;j++)
			{if(abs(y[j]-i)==abs(j-deep)||y[j]==i)flag=1;}
			if(flag==0)
			{y[deep]=i;dfs(deep+1);}	
	}
}
int main()
{
	freopen("queen.in","r",stdin);
	freopen("queen.out","w",stdout);
	scanf("%d",&N);
	dfs(1);
	printf("%d",ans);
	return 0;
}