leetcode---N-Queens II
2016-05-27 10:21
405 查看
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
Now, instead outputting board configurations, return the total number of distinct solutions.
class Solution { public: int ans = 0; bool ok(int depth, int col, int n, vector<string> &tmp) { int sum = col + depth; int c = 0; for(int i=0; i<depth; i++) { c = depth - i; if(tmp[i][col] == 'Q' || tmp[i][sum-i] == 'Q' || tmp[i][col-c] == 'Q') return false; } return true; } void dfs(int depth, vector<string> &tmp, int n) { if(depth >= n) { ans++; return; } for(int j=0; j<n; j++) { tmp[depth][j] = 'Q'; if(ok(depth, j, n, tmp)) dfs(depth+1, tmp, n); tmp[depth][j] = '.'; } } int totalNQueens(int n) { vector<string> tmp; for(int i=0; i<n; i++) { string s = ""; for(int j=0; j<n; j++) s += '.'; tmp.push_back(s); } dfs(0, tmp, n); return ans; } };
相关文章推荐
- 哈希表的静态,动态,以及key/value形式
- 设置UIImage不使用渲染
- leetcode---N-Queens---回溯
- CALayer的那些事(一)
- Keil 汇编编译问题 error C5: 'asm/endasm' requires src-control to be active
- mosquitto install with ssl
- 【性能为王】从PHP源码剖析array_keys和array_unique
- IAR 中 Compile、Make、Build 的区别
- Android中ContentValues用法
- csuoj-1733-XueXX and Chessboard
- csuoj-1732-XueXX and Binary
- MQTT Mosquitto broker with SSL/TLS transport security
- Errors running builder 'DeploymentBuilder' on project '工程名'
- csuoj-1731-XueXX and P-P String
- getRequestDispatcher()与sendRedirect()的区别
- 关于UIFont的初始化
- android项目编译报错:error occurred during the build
- ScrollView与UIPageController
- iOS 8UIAlertcontroller如何实现 message左对齐 ,title居中显示
- Minigui-3.0.12 开发记录