Leetcode -- N-Queens II

来源:互联网 发布:caffe测试mnist数据集 编辑:程序博客网 时间:2024/06/05 02:38

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;    }};


0 0
原创粉丝点击