https://leetcode.com/problems/n-queens/

 class Solution {
public:
void dfs(vector<vector<string>> &ret, vector<vector<char>> map,int i, int j){
if(i==map.size()-){
vector<string> ans; ans.clear();
for(int ki=;ki<map.size();++ki){
string s="";
for(int kj=;kj<map[].size();++kj){
s+=map[ki][kj];
}
ans.push_back(s);
}
ret.push_back(ans);
return;
} vector<vector<char>> tmp(map.size());
for(int i=;i<tmp.size();++i) tmp.resize(map.size());
tmp = map;
for(int k=;k<map[].size();k++){ if(map[i+][k]=='.') continue; for(int col=;col<map[].size();++col){
if(map[i+][col]==' ') map[i+][col]='.';
}
for(int row=i+;row<map.size();++row){
if(map[row][k]==' ') map[row][k]='.';
}
for(int row=i+,col=k+;row<map.size() && col<map[].size();++row,++col){
if(map[row][col]==' ') map[row][col]='.';
}
for(int row=i+,col=k-;row<map.size() && col>=;++row,--col){
if(map[row][col]==' ') map[row][col]='.';
}
map[i+][k]='Q'; dfs(ret,map,i+,k); map=tmp;
} }
vector<vector<string>> solveNQueens(int n) {
vector<vector<string>> ret;
if(n==) return ret; vector<vector<char>> map(n);
for(int i=;i<map.size();++i) map[i].resize(n);
for(int i=;i<map.size();++i){
for(int j=;j<map[i].size();++j) map[i][j]=' ';
} vector<vector<char>> tmp(map.size());
for(int i=;i<tmp.size();++i) tmp.resize(map.size());
tmp = map;
for(int k=;k<map[].size();k++){
for(int col=;col<map[].size();++col) map[][col]='.';
for(int row=;row<map.size();++row) map[row][k]='.';
for(int row=,col=k+;row<map.size() && col<map[].size();++row,++col) map[row][col]='.';
for(int row=,col=k-;row<map.size() && col>=;++row,--col) map[row][col]='.';
map[][k]='Q'; dfs(ret,map,,k); map=tmp;
} return ret;
}
};

leetcode@ [51/52] N-Queens的更多相关文章

  1. LeetCode(52) N-Queens II

    题目 Follow up for N-Queens problem. Now, instead outputting board configurations, return the total nu ...

  2. 报错:(未解决)NoReplicaOnlineException: No replica in ISR for partition __consumer_offsets-8 is alive. Live brokers are: [Set(50, 51, 52)], ISR brokers are: [68]

    报错背景: CDH集成kafka插件之后,启动kafka时就报出此错误. 报错现象: -- ::, ERROR state.change.logger: [Controller epoch=] Ini ...

  3. leetcode 51. N-Queens 、52. N-Queens II

    51. N-Queens 使用isValid判断当前的位置是否合法 每次遍历一行,使用queenCol记录之前行的存储位置,一方面是用于判断合法,另一方面可以根据存储结果输出最终的结果 class S ...

  4. leetcode 51. N皇后 及 52.N皇后 II

    51. N皇后 问题描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后 ...

  5. [Leetcode][Python]52: N-Queens II

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 52: N-Queens IIhttps://oj.leetcode.com/ ...

  6. 【一天一道LeetCode】#52. N-Queens II

    一天一道LeetCode系列 (一)题目 Follow up for N-Queens problem. Now, instead outputting board configurations, r ...

  7. [LeetCode] 51. N-Queens N皇后问题

    The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...

  8. LeetCode: 51. N-Queens(Medium)

    1. 原题链接 https://leetcode.com/problems/n-queens/description/ 2. 题目要求 游戏规则:当两个皇后位于同一条线上时(同一列.同一行.同一45度 ...

  9. 【LEETCODE】52、数组分类,简单级别,题目:717,661,746,628,643,849

    package y2019.Algorithm.array; /** * @ProjectName: cutter-point * @Package: y2019.Algorithm.array * ...

随机推荐

  1. 用最直白的语言告诉你,hadoop是什么?

    hadoop应历史之潮流,随着理论探索.科学技术试验的不断开展,hadoop终于2006年问世,惊天地泣鬼神! hadoop雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java ...

  2. 聊聊 Statsd 和 Collectd 那点事!

    StatsD 是由 Etsy 开发并发布的汇总和总结应用指标的一个简单的守护进程,近些年来发展迅速,已经变成了一个用于收集应用性能指标的统一的协议. 关于 Statsd 的使用已经有很多文章介绍过,所 ...

  3. 处理MySQL数据库出现大量Locked的一个案例 (转)

    本文转自:http://blog.itpub.net/7607759/viewspace-696781/ 做为一款轻量级数据库软件,MySQL在使用过程中遇到访问速度慢,或者无法响应这类的问题,解决方 ...

  4. cocos-html5 JS 写法基础 语言核心

    转载:http://blog.csdn.net/leasystu/article/details/18735797 cocos2dx 3.0 js继承:John Resiq的继承写法解析 CCClas ...

  5. java中的CAS

    转自:http://www.blogjava.net/mstar/archive/2013/04/24/398351.html Atomic 从JDK5开始, java.util.concurrent ...

  6. Myeclipse开发内存溢出问题

    MyEclipse开发内存溢出问题   window --> preferences --> MyEclipse --> servers --> Tomcat --> J ...

  7. [Android] 修改设备访问权限

    在硬件抽象层模块中,我们是调用open函数来打开对应的设备文件的.例如,在2.3.2小节中开发的硬件抽象层模块freg中,函数freg_device_open调用open函数来打开设备文件/dev/f ...

  8. BMS 项目过程中遇到的问题

    环境搭建的问题 Git的ssh私人密钥问题, 路劲不正确的话使用ssh方式连接github进行远程push或clone会出现需要输入密码而怎么输入都不正确的情况,这个时候使用下面的办法: http方面 ...

  9. tlplayer for wince 版本正式商用

    开始的时候tlplayer遇到一些问题,后来经过一些简单优化后,可以满足商用条件. 支持http,mms,rtsp等网络协议,支持内存流播放.需要定制或者需要支持hls,rtmp,m3u8等协议的,请 ...

  10. 开发完整的Web项目必备

    开发工具 数据库系统 DB2数据库 Oracle数据库 SQL Server数据库 MySQL数据库 Access数据库 Web服务器 IIS BEA WebLogic Server Apache T ...