博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51. N-Queens
阅读量:5248 次
发布时间:2019-06-14

本文共 1258 字,大约阅读时间需要 4 分钟。

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

Given an integer n, return all distinct solutions to the n-queens puzzle.

Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space respectively.

For example,

There exist two distinct solutions to the 4-queens puzzle:

[ [".Q..",  // Solution 1  "...Q",  "Q...",  "..Q."], ["..Q.",  // Solution 2  "Q...",  "...Q",  ".Q.."]] 解题思路:经典N皇后问题,代码主要参照晴神宝典103页,P[index]=x表示第index行皇后的位置为x,hashTable[x]=True表示第x行已经有皇后放置了,对角线判断用了绝对值 简化了本来的算法
class Solution {public:    vector
>ans; bool hashTable[100]={
false}; int P[100]={
0}; void generateP(int index,int n){ if(index==n+1){ string temp=""; vector
tempAns; for(int i=1;i<=n;i++){ temp=""; for(int j=1;j<=n;j++) temp+='.'; temp[P[i]-1]='Q'; // cout<
<
> solveNQueens(int n) { generateP(1,n); return ans; }};

 

 

转载于:https://www.cnblogs.com/tsunami-lj/p/6429035.html

你可能感兴趣的文章
[导入]玫瑰丝巾!
查看>>
自动从网站上面下载文件 .NET把网站图片保存到本地
查看>>
【识记】 域名备案
查看>>
STL uva 11991
查看>>
MY SQL的下载和安装
查看>>
自定义OffMeshLink跳跃曲线
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
牛客网——华为机试(题21:简单密码)(Java)
查看>>
学习Redux之分析Redux核心代码分析
查看>>
STL bind1st bind2nd详解
查看>>
Hive2.x 版本的安装及配置 以及要注意的事项
查看>>
window 如何访问虚拟机的mapreduce(遇到的坑)
查看>>
【原创】大叔经验分享(31)CM金丝雀Canary报错
查看>>
李飞飞机器视觉课程笔记:第2课 K最近邻与线性分类器
查看>>
import keras,tensorflow,出现kernel died restarting,解决办法
查看>>
spring applicationContext.xml最全约束
查看>>
Linux系统下安装rz/sz命令及使用说明
查看>>
C#正则表达式(通俗易懂)
查看>>
matlab读取多个excel某列数据
查看>>