[LeetCode] N-Queens II

来源:互联网 发布:java时间戳精确到毫秒 编辑:程序博客网 时间:2024/06/04 18:30

Follow up for N-Queens problem.

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

class Solution {public:    int cnt = 0;    int *col;    int totalNQueens(int n) {        col = new int[n];        generate(n,0);        return cnt;    }    void generate(int n,int dep){        if(dep == n){            cnt ++;            return;        }        for(int i = 0;i < n;i ++){            if(check(dep,i)){                generate(n,dep + 1);                col[dep] = -1;            }        }    }    bool check(int k,int i){        col[k] = i;        for(int i = 0;i < k;i ++)            if(col[i] == col[k] || abs(col[i] - col[k]) == abs(i - k)) return false;        return true;    }};


0 0
原创粉丝点击