比赛 皇后 评测结果 AAAWWWWWWW
题目名称 N皇后问题 最终得分 30
用户昵称 东林桂香 运行时间 0.002 s
代码语言 C++ 内存使用 4.13 MiB
提交时间 2017-03-19 19:59:43
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int n,ans=0;
int que[1000000];
void search(int x){
	if(x==n)ans++;
	else
	{
	    for(int i=1;i<=n;i++)	
	    {
		    int yes=1;
	        que[x]=i;
	        for(int j=1;j<=x;j++)
	        {
	        	if(que[j]==que[x]||que[j]-j==que[x]+x||que[j]-j==que[x]-x)
	        	{
				    yes=0;
	        	    break;
				}
			}
	       	if(yes==1)search(x+1);	  
	    }	
	}	
}
int main()
{
    freopen("queen.in","r",stdin);
    freopen("queen.out","w",stdout);
	scanf("%d",&n);
	search(1);	
	printf("%d",ans);	
	fclose(stdin);
	fclose(stdout);	
	return 0;
}