n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
给定一个整数 n,返回 n 皇后不同的解决方案的数量。

位运算解法 0ms (注:将设想的棋盘视为从右到左你,n-1,0)
原理可参考https://www.cnblogs.com/TenosDoIt/p/3801621.html

int limit,sum;
void dfs_bit(int lineb,int lb,int rb,int t,int n)
{if(t==n)sum++;else{int able_p=limit&(~(lineb|lb|rb));while(able_p!=0){int p=able_p&(~able_p+1);able_p-=p;dfs_bit(lineb|p,(lb|p)<<1,(rb|p)>>1,t+1,n);}}
}
class Solution {
public:int totalNQueens(int n) {limit=(1<<n)-1;sum=0;dfs_bit(0,0,0,0,n);return sum;}
};

领扣 52. N皇后 II相关推荐

  1. LeetCode 52.N皇后II

    [LetMeFly]52.N皇后II 力扣题目链接:https://leetcode.cn/problems/n-queens-ii/ n 皇后问题 研究的是如何将n个皇后放置在n×n的棋盘上,并且使 ...

  2. Java实现 LeetCode 52 N皇后 II

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

  3. LeetCode—52. N皇后 II(困难)

    52. N皇后 II(困难) 题目描述: n 皇后问题研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击.即令其中任意两个皇后都不同列.同行和在一条斜线上. 给你一 ...

  4. LeetCode 51. N 皇后、52. N 皇后 II

    51. N 皇后 n皇后问题要求皇后放置后,同一行,同一列,同一斜线上不存在其他的皇后即可 采用回溯法解决该问题 同时应该设置一个函数判断当该位置放置皇后后,是否合法 因为是采用回溯法放置皇后,每行只 ...

  5. LeetCode 51. N皇后 / 52. N皇后 II(回溯)

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

  6. LeetCode 52. N皇后 II

    https://leetcode-cn.com/problems/n-queens-ii/ 难度:困难   n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻 ...

  7. leetcode 52. N皇后 II(回溯)

    n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入: 4 输出: 2 解释: 4 皇 ...

  8. 51. N皇后/52. N皇后 II

    2020-07-29 1.题目描述 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 2.题解 回溯算法 3.代码 class Solution {pu ...

  9. leetcode刷题(53)——52. N皇后 II

    n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入: 4 输出: 2 解释: 4 皇 ...

最新文章

  1. 笔记:2016-06-02
  2. 雷兽的数据库CAP乱谈之(一)阐述
  3. 企业号开发php,微信企业号-开发笔记-1
  4. UI学习笔记---EasyUI panel插件使用---03
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 前n个正整数相乘的时间复杂度为_初一数学必考的21个知识点,附考试重难点,预习必备!...
  7. 入门系列之基于MATLAB的滚动轴承内外圈复合线性剥落故障动力学建模
  8. 百科不全书之Python进阶
  9. AEJoy —— 介绍神奇的 10 个 AE 表达式附带 2 种简单的调试方法
  10. 基于用户 的协同过滤算法
  11. Microsoft Windows Server 2008 R2官方原版(MSDN版)下载
  12. python常用文件操作和解析xml文件
  13. 练习3-8 查询水果价格
  14. 止咳绝招 献给身边咳嗽的人
  15. 输入框添加Emoje表情demo
  16. 链改升级,区块链——炳德区块链
  17. 信息系统开发与管理【六】之 系统设计
  18. Linux 根目录爆满 解决
  19. 23、IP地址的表示及分类
  20. 静态路由实现两台主机互通

热门文章

  1. 基于SSE指令集的程序设计简介
  2. ASI-20160928-Embedded Foursquare OAuth Token
  3. 用WPS2007制作版记与下划线
  4. 现代A200(MoboDA 3360)GPRS上网设置方法
  5. python每隔5秒执行一次
  6. 手机音质变差_为什么不同手机音质差别那么大?这4个方面很重要
  7. cocos2dx 讲解
  8. cocos2dx渲染机制
  9. 如何注册Atlassian账户
  10. aragon19 Android App,DApp_dappcon19: 以太坊社区基金将与status和aragon一起开发以支持dapp...