LeetCode——052
2016-04-24 12:42
288 查看
/*
Follow up for N-Queens problem.
Now, instead outputting board configurations, return the total number of distinct solutions.
Subscribe to see which companies asked this question
*/
/*
解题思路:
跟上一个题很相似,甚至比上一个题目还要简单,只要求统计否和要求的个数,不需要记录结果
*/
class Solution { public: int totalNQueens(int n) { string s(n,'.'); vector<string> vec(n,s); int res=0; dfs(0,vec,res); return res; } void dfs(int cur,vector<string>&vec,int&res){ if(cur==vec.size()){ ++res; return ; } for(int i=0;i<vec.size();i++){ if(isvalid(cur,i,vec)){ vec[cur][i]='Q'; dfs(cur+1,vec,res); vec[cur][i]='.'; } } } bool isvalid(int row,int col, vector<string>vec){ for(int i=0;i<row;i++){ for(int j=0;j<vec.size();j++){ if(vec[i][j]=='Q'){ if(j==col||(abs(i-row))==(abs(j-col)))return false; } } } return true; } };
相关文章推荐
- 从四方面评价百度输入法
- 第9周项目3——人数不定的工资类
- lib静态库、dll动态库
- putchar
- Maven+Springmvc+mybatis+Dubbo+Zookeeper整合分布式架构
- 计算文本的实际大小
- Space Shooter之子弹和敌人碰撞检测、爆炸特效以及敌人的运动
- [react002] component基本用法
- [JZOJ4468][JSOI2016?]轻重路径
- 第9周项目2——我的数组类
- 15个最佳的用户体验和用户界面工具和资源
- gl.h文件错误(折腾了两天竟然是这个问题)
- C++实验4-乘法口诀表
- spring测试junit事务管理及spring面向接口注入和实现类单独注入(无实现接口),实现类实现接口而实现类单独注入否则会报错。
- 无约束问题极值的求解及数学建模算法与应用第三章
- svn
- 二维码使用原理
- c++作业4
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
- 《CSS3实战》笔记--弹性盒模型(二)