Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
此题虽然是N-Queens II ,但比N-Queens 简单!做细微改变即可!!
int totalNQueens(int n) {
int count = 0;
vector<int> res_one(n,-1);
solveNQueens(n,0,res_one,count);
return count;
}
void solveNQueens(int n,int level,vector<int> &res_one,int &count)
{
if (level >= n)
{
count++;
return ;
}
for (int i = 0;i < n;i++)
{
if (meet_condition(res_one,level,i))//未用的情况下
{
res_one[level] = i;
solveNQueens(n,level+1,res_one,count);
}
}
}