N-Queens II--LeetCode
来源:互联网 发布:java 重定向 编辑:程序博客网 时间:2024/05/10 22:01
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
思路:使用组合的方式来判断,加入每一列排放一个,那么看行怎么排序,如果0~n的数,进行全排列,第i个位置上的数是什么代表第I个皇后放到这个列。
每一个排列就需要判断是否合法,这个时候只需要判断是否在斜线上即可。
bool Check(vector<int>& vec){ int i,j; for(i=0;i<vec.size();i++) { for(j=i+1;j<vec.size();j++) if(i-j == vec[i]-vec[j] || j-i == vec[i]-vec[j]) return false; } return true; }int Permutation(vector<int>& vec,int index,int& count){ int i; if(index == vec.size()) { if(Check(vec)) count++; } for(i=index;i<vec.size();i++) { swap(vec[index],vec[i]); Permutation(vec,index+1,count); swap(vec[index],vec[i]); } return count;} int totalNQueens(int n) { vector<int> vec(n); for(int i=0;i<n;i++) vec[i] =i; int count=0; Permutation(vec,0,count); return count; }
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
- Matlab并行发展历程
- NEFU560 半数集【递归】
- LeetCode 2 Add Two Numbers
- 禁止或允许其它网站添加ADF页面到iframe中
- java编程中遇到的问题汇编
- N-Queens II--LeetCode
- Maven 配置linux 环境变量
- WPF-WPF BitmapEffect
- 数据格式
- js 监听监键盘动作
- 【MFC】MFC设置radio button互斥
- Win7 获得管理员权限 方法
- Sql的decimal、float、double类型的区别
- web性能测试基本性能指标