LeetCode 52. N-Queens II
来源:互联网 发布:风尚设计美工教程 编辑:程序博客网 时间:2024/05/16 15:59
Get the idea from this post: https://developers.google.com/optimization/puzzles/queens
We only to track three arrays. One is horizontally, one is vertically, one is diagonally.
Horizontally is main[2 * n - 1], Vertically is col[n], diagonally is anti[2 * n - 1];
int totalNQueens(int n) { vector<bool> col(n, true); vector<bool> anti(2*n-1, true); vector<bool> main(2*n-1, true); int count = 0; dfs(0, col, main, anti, count); return count;}void dfs(int i, vector<bool> &col, vector<bool>& main, vector<bool> &anti, int &count) { if (i == col.size()) { count++; return; } for (int j = 0; j < col.size(); j++) { if (col[j] && main[i+j] && anti[i+col.size()-1-j]) { col[j] = main[i+j] = anti[i+col.size()-1-j] = false; dfs(i+1, col, main, anti, count); col[j] = main[i+j] = anti[i+col.size()-1-j] = true; } }}
0 0
- LeetCode 52. N-Queens II
- LeetCode --- 52. N-Queens II
- LeetCode 52.N-Queens II
- [Leetcode] 52. N-Queens II
- [leetcode] 52.N-Queens II
- [leetcode] 52. N-Queens II
- LeetCode 52. N-Queens II
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II
- LeetCode 52. N-Queens II
- leetcode.52. N-Queens II
- LeetCode 52. N-Queens II
- [LEETCODE]52. N-Queens II
- [LeetCode] 52. N-Queens II
- leetcode 52. N-Queens II
- leetcode-52. N-Queens II
- leetcode 52. N-Queens II
- LeetCode 52. N-Queens II
- 获取当前系统版本
- 如何以“正确的姿势”阅读开源软件代码
- 获取section下的子控件
- 根据segue跳转
- url转成字符串
- LeetCode 52. N-Queens II
- Ubuntu samba 服务器配置
- 数组排序后获得新数组
- 【android学习】px与dip转换
- 定义一个UIEdgeInset全局变量
- 远程通知
- 记 搭建邮件服务器(postfix)踩过的坑
- Ehcache详细解读
- 重写UICollectoinViewFlowLayout需要重写的方法