N-Queens II
来源:互联网 发布:电力系统分析软件bpa 编辑:程序博客网 时间:2024/06/16 16:33
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution {public:void print(int queue[], int n, vector<vector<string>> &qipan) { int i, j; /*for(i = 0; i < n; i++) { printf("row :%d, col :%d\n", i , queue[i]); } */ vector<string> method; for(i = 0; i < n; i++) { string str(n,'.'); str[queue[i]] = 'Q'; method.push_back(str); } //printf("\n"); qipan.push_back(method); //printf("\n"); } void testQueue(int queue[], int row, int n, vector<vector<string>> &qipan) { int j, k; if(row >= n) print(queue, n, qipan); else { for(j = 0; j < n; j++) { queue[row] = j; for(k = 0; k < row; k++) { if((queue[k] - queue[row]) * (fabs(queue[k] - queue[row]) - fabs(k - row)) == 0) { break; } if(k == row - 1) testQueue(queue, row + 1, n, qipan); } } } } int totalNQueens(int n) { vector<vector<string>> qipan; int queue[n]; int i; for(i = 0; i < n; i++ ) queue[i] = -1; for(i = 0; i < n; i++) { //printf("method :\n"); queue[0] = i; testQueue(queue, 1, n, qipan); } return qipan.size(); } };
0 0
- N-Queens && N-Queens II
- LeetCode: N-Queens II
- LeetCode : N-Queens II
- [Leetcode] N-Queens II
- N-Queens II
- 【leetcode】N-Queens II
- LeetCode: N Queens II
- [LeetCode]N-Queens II
- N-Queens II
- N-Queens II
- LeetCode - N-Queens II
- LeetCode:N-Queens II
- N-Queens II
- N-Queens II
- 【leetcode】N-Queens II
- LeetCode:N-Queens II
- Leetcode: N-Queens II
- leetcode N-Queens II
- 常见的网站服务器架构
- JQuery日历插件My97DatePicker日期范围限制
- mysql主从复制实战
- 后的覆盖蝴蝶飞过后冯国华
- 的分公司的分公司的覆盖是覆盖
- N-Queens II
- android日志工具—Log
- Android 当EditextText失去焦点,或者点击Activity的时候关闭软键盘或者其他布局
- Java学习 J2EE中的13种技术规范
- Spring整合hibernate4:事务管理
- 代码风格提示
- Python学习之:语法
- Android ADB常用命令
- JavaScript客户端存储