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. 瑞昱Realtek(Realtek HD Audio Driver)音频声卡驱动R2.49 for Win7_Vista

    不管是在高端系列主板上,还是在低端系列主板上,我们都能看到Realtek瑞昱的身影,Realtek HD Audio Driver能够支持所有的Realtek HD Audio音频驱动.Realtek ...

  2. Automotive Security的一些资料和心得(5):Privacy

    1. Introduction 1.1 "Customers own their data and we can be no more than the trsted stewards of ...

  3. 获取PDF页数

    下载pdfbox这个包,这俩个方法都可以: PDDocument doc = PDDocument.load("e://aa.pdf"); System.out.println(d ...

  4. 线上问题:如何定位解决CPU高占有率

    (原文转自:http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题. 根据top命令,发现PID为28555的Java进程占用 ...

  5. WordPress 前端用户投稿插件 Frontend Publishing

    WordPress添加投稿功能(无需注册/可邮件通知站长和投稿人) WordPress匿名投稿插件:DX-Contribute (有朋友反馈不能用) WordPress投稿插件:User Submit ...

  6. [转载]C#多线程学习(一) 多线程的相关概念

    原文地址:http://www.cnblogs.com/xugang/archive/2008/04/06/1138856.html 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的 ...

  7. uva 1475 - Jungle Outpost

    半平面交,二分: 注意,题目的点是顺时针给出的: #include<cstdio> #include<algorithm> #include<cmath> #def ...

  8. 自定义 Lint 规则简介

    上个月,笔者在巴黎 Droidcon 的 BarCamp 研讨会上聆听了 Matthew Compton 关于编写自己的 Lint 规则的讲话.深受启发之后,笔者想就此话题做进一步的探索. 定义 如果 ...

  9. 如何使用 Java8 实现观察者模式?(下)

    [编者按]本文作者是 BAE 系统公司的软件工程师 Justin Albano.在本篇文章中,作者通过在 Java8 环境下实现观察者模式的实例,进一步介绍了什么是观察者模式.专业化及其命名规则,供大 ...

  10. HDU 1400 (POJ 2411 ZOJ 1100)Mondriaan's Dream(DP + 状态压缩)

    Mondriaan's Dream Problem Description Squares and rectangles fascinated the famous Dutch painter Pie ...