14皇后的解的个数

来源:百度知道 编辑:UC知道 时间:2024/07/03 05:01:56
我想知道N皇后问题中N=14时的答案是多少~~我做的是365596~~也不知道计数器是不是做的对~我做了2个程序由于计数器问题把我自己弄糊涂了~~~所以有知道确切答案的麻烦跟我说下吧~~谢谢了

#include <iostream>
#include <fstream>
using namespace std;

int NUM=10;
bool a[20][20];
int count=0;
ofstream fout("output.txt");
//棋盘初始化
void init()
{
for (int i=0;i<NUM;i++)
for (int j=0;j<NUM;j++)
{
a[i][j]=false;
}
}

//判断当前位置是否安全,只检查i行之前的,对于i行之后的不予检查
bool isSafe(int i,int j)
{
int tmpI=i;
int tmpJ=j;

//1 2 3
// (i,j)
//1方向检查
while (tmpI>=1 && tmpJ>=1)
{
tmpI--;
tmpJ--;
if (a[tmpI][tmpJ])
return false;
}
//2方向检查
tmpI=i;
tmpJ=j;
while (tmpI>=1)
{
tmpI--;
if (a[tmpI][tmpJ])
return false;
}
//3方向检查
tmpI=i;
tmpJ=j;
while (tmpI>=1 && tmpJ<NUM-1)
{
tmpI--;
tmpJ++;
if (a[tmpI][tmpJ])
return false;
}
//fout<