您的位置:首页 > 产品设计 > UI/UE

Leetcode -- N-Queens II

2015-10-27 15:19 471 查看
Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.



分析:

典型的回溯法题目。

class Solution {
public:
int cnt=0;
bool check(vector<int> pos,int r,int p)
{
for(int i=0;i<r;++i)
if(pos[i]==p||abs(i-r)==abs(pos[i]-p)) return 0;
return 1;
}
void fun(vector<int> pos,int r)
{
if(r==pos.size())
{
cnt++;
return;
}
for(int i=0;i<pos.size();++i)
{
if(check(pos,r,i))
{
pos[r]=i;
fun(pos,r+1);
}
}
}
int totalNQueens(int n) {
vector<int> pos(n,0);
fun(pos,0);
return cnt;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: