首页 > 代码库 > leetcode - N-Queens II
leetcode - N-Queens II
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution { private: int res; public: int totalNQueens(int n) { std::vector<int> state(n, -1); res = 0; dfs(state, 0); return res; } void dfs(std::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); state[row] = -1;; } } bool isValid(std::vector<int> &state, int row, int col) { for(int i = 0; i < row; i++) if(state[i] == col || abs(row - i) == abs(col - state[i])) return false; return true; } };
leetcode - N-Queens II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。