#include "OJ.h"
/*
功能: 求解放置8皇后方案的个数。
输入:
无
返回:
int:放置8皇后方案的个数
*/
int x[100];
//判断第k个皇后能否放在第x[k]列
bool Place(int k){
int i = 1;
while( i < k){
if( x[i]==x[k] || (x[i]-x[k])==(i-k) || (x[i]-x[k])==(k-i))
return false;
i++;
}
return true;
}
int PlaceQueenMethodNum(int n)
{
/*在这里实现功能*/
int num = 0;
x[0] = x[1] =0;
int k=1;
while(k > 0)
{
x[k]+=1;
while (x[k]<=n && Place(k)==false)
{
x[k]+=1;
}
if(x[k]<=n)
{
if(k==n)
{
num++;
}
else
{
k++;
x[k]=0;
}
}
else
k--;
}
return num;
}
N皇后
最新推荐文章于 2024-02-09 22:54:26 发布