美文网首页
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