美文网首页
n-queens-ii

n-queens-ii

作者: DaiMorph | 来源:发表于2019-07-16 23:44 被阅读0次
class Solution {
public:
    int totalNQueens(int n) {
        vector<int>state(n,-1);
        dfs(state,0);
        return res;
    }
    void dfs(vector<int>&state,int row)
    {
        int n=state.size();
        if(row==n)
        {
            res++;
            return;
        }
        for(int col=0;col<n;col++)
        {
            if(isValid(state,row,col))
            {
                state[row]=col;
                dfs(state,row+1);
            }
        }
    }
    bool isValid(vector<int>state,int row,int col)
    {
        for(int i=0;i<row;i++)
        {
            if(state[i]==col||abs(row-i)==abs(state[i]-col))
                return false;
        }
        return true;
    }
private:
    int res=0;
};

相关文章

网友评论

      本文标题:n-queens-ii

      本文链接:https://www.haomeiwen.com/subject/uctflctx.html