LeetCode--N-Queens II
来源:互联网 发布:眼镜软件 lms 编辑:程序博客网 时间:2024/05/21 07:18
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
思路:回溯法。由于不用放置整个棋盘上的元素,所以类似数独那一题,只用判断列和两个对角线是否可以放置即可。还是深度优先搜索,逐行逐列的放置,当最后一行也可以放置时计数加1。
class Solution {public: int totalNQueens(int n) { vector<bool>col(n,true); vector<bool>main(2*n-1,true); vector<bool>anti(2*n-1,true); int count=0; dfs(0,count,n,col,main,anti); return count; } void dfs(int i,int &count,int n,vector<bool>&col,vector<bool>&main,vector<bool>&anti){ if(i==n){ count++; return; } for(int j=0;j<n;j++){ if(col[j]&&main[i+j]&&anti[i+n-1-j]){ col[j]=main[i+j]=anti[i+n-1-j]=false; dfs(i+1,count,n,col,main,anti); col[j]=main[i+j]=anti[i+n-1-j]=true; } } }};
阅读全文
0 0
- LeetCode: N-Queens II
- LeetCode : N-Queens II
- [Leetcode] N-Queens II
- 【leetcode】N-Queens II
- LeetCode: N Queens II
- [LeetCode]N-Queens II
- LeetCode - N-Queens II
- LeetCode:N-Queens II
- 【leetcode】N-Queens II
- LeetCode:N-Queens II
- Leetcode: N-Queens II
- leetcode N-Queens II
- LeetCode | N-Queens II
- Leetcode: N-Queens II
- LeetCode N-Queens II
- Leetcode N-Queens II
- N-Queens II -- LeetCode
- N-Queens II - LeetCode
- hive on spark安装的一些问题
- 基于Speex的声学回声消除
- 指针 c++
- 初识Docker
- Reactor模型的演变
- LeetCode--N-Queens II
- 查看Linux系统位数
- 计算机网络——自顶向下方法第四章4.5 4.6
- webuploader分片上传大文件
- eclipse配置文件没有提示问题解决方案
- 2. Add Two Numbers
- opencv使用笔记本摄像头获取视频问题解决
- svn 命令行下常用的几个命令
- Java常量池理解与总结