52. N-Queens II

article/2025/8/4 14:06:38

题目描述

52. N-Queens II

回溯法 

这道题与第51题是一样的。51. N-Queens-CSDN博客

class Solution {int columns;  //从低位到高位起算,第i位为0表示棋盘第i列可以放置皇后,第i位为1表示棋盘第i列不能放置皇后//边长为n的棋盘分别有2n-1条正斜线和反斜线。int diagnals1;//反斜线(从右上角到左下角)。第i位表示第i条反斜线能否放置皇后int diagnals2;//正斜线(从左上角到右下角)。含义同上int res = 0;
public:int totalNQueens(int n) {columns = 0;diagnals1 = 0;diagnals2 = 0;backtrack(n,0);return res;}void backtrack(int n,int row){if(row==n){res++;return;}for(int col = 0;col <n;col++){if(columns &(1<<col))continue;int diag1 = row+col;if(diagnals1 &(1<<diag1))continue;int diag2 = row-col+(n-1);if(diagnals2 &(1<<diag2))continue;columns |= (1<<col);diagnals1 |= (1<<diag1);diagnals2 |= (1<<diag2);backtrack(n,row+1);columns &= (~(1<<col));diagnals1 &= (~(1<<diag1));diagnals2 &= (~(1<<diag2)); }}
};

http://www.hkcw.cn/article/jErhLvgFon.shtml

相关文章

关于adb devices无法找到设备:error: device not found 的解决办法

一、此类问题出现的原因&#xff0c;一般是设备所使用的端口被占用&#xff0c;需要找到被占用的端口。 二、操作步骤 1、打开命令窗口。 2、输入adb shell 会发现提示error:device not found&#xff01; 3、输入adb kill-server ,然后启动adb start-server 4、输入 net…

关于不同平台微信多开的解决方案(WIN/MAC/IOS/Andriod)

日常生活跟工作中需要用到多开微信&#xff0c;本次分享下在不同平台上解决微信多开的方法。这些方法我都用了超过1年以上&#xff0c;都比较稳定。中间遇到的一些问题我也有说明&#xff0c;包括每个方法的优缺点&#xff0c;每个平台的操作等。 先说下我自己体验下来的结论&a…

Flutter项目兼容鸿蒙Next系统

一、环境搭建&#xff1a; 1.1 下载鸿蒙DevEco Studio开发工具。 下载地址&#xff1a;下载中心 | 华为开发者联盟-HarmonyOS开发者官网&#xff0c;共建鸿蒙生态 下载之前需要先登录&#xff0c;后面的模拟器创建还要开发者验证、审核啥的&#xff0c;好在审核进度还可以&am…

无需密码强制移除Apple ID 工具! iOS 11.3以下可用 ipad和iphone通用!还不快快收藏起来

无需密码强制移除Apple ID 工具&#xff01; iOS 11.3以下可用 ipad和iphone通用&#xff01;还不快快收藏起来 ✅ 支持的设备范围注意事项使用方法如何下载&#xff1f; 很多朋友在不再使用某个Apple 帐户或是转卖旧的iPhone&#xff0c;为了防止 ID 被盗导致个人信息泄露&…

Mac 散热救星:Macs Fan Control,让你的苹果电脑“冷静”又安静!

各位果粉们&#xff0c;是不是经常遇到这样的烦恼&#xff1a;用着用着电脑&#xff0c;突然就发热卡顿&#xff0c;风扇狂转噪音大得跟拖拉机似的&#xff1f;别担心&#xff0c;今天给大家安利一款超实用的软件 —— Macs Fan Control&#xff0c;它可是让苹果电脑“冷静”又…

mac 安装idea,碰到“已损坏,无法打开,您应该推出磁盘映像”的解决办法

1.打开终端&#xff0c;先输入如下命令&#xff0c;之后回车操作&#xff0c;碰到输入密码时&#xff0c;正常输入密码即可 sudo spctl --master-disable 2.打开系统设置-安全与隐私性-找到‘允许以下来源的应用程序’ &#xff0c;更改为任何来源&#xff0c;碰到输入密码时&…

k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、k8s概述 2、Service在Kubernetes中的作用 二、ClusterIP类型 1、ClusterIP 类型的特点和用途 2、ClusterIP 的工作机制 3、…

Android studio 模拟器运行时弹窗显示The emulator process for AVD 模拟器的名字 has terminated 的解决方法

Android studio 问题解决方案 一&#xff1a;.运行模拟器报错展示二.解决步骤第一步:找到.android的文件夹第二步&#xff1a;剪切该文件到SDK的下载路径第三步&#xff1a;点开该文件第四步&#xff1a;找到配置文件第五步&#xff1a;编辑配置文件 三&#xff1a;设置环境变量…

Android Studio快速配置国内镜像源和HTTP代理

最近开始学习Android Studio开发&#xff0c;发现老是连接超时&#xff0c;下面配置下国内镜像源和HTTP代理&#xff0c;而且通过尝试发现最快下载速度方法 一.配置 SDK 镜像源 打开 Android Studio。 进入 File > Settings 然后点击 System Settings,点击 Android SDK。 …

mac/Windows安装python+pycharm【小白操作】

macOS通常自带Python&#xff0c;但建议安装最新版本的Python。你可以通过Homebrew来安装Python。 方法一&#xff1a;通过Homebrew安装Python 安装Homebrew&#xff08;如果尚未安装&#xff09;&#xff1a; 打开终端&#xff0c;输入以下命令并按回车&#xff1a; /bin/bas…

Mac电脑安装Postman教程

Postman 是一款非常常用的 API 调试工具&#xff0c;支持接口测试、自动化测试等功能&#xff0c;本文将分享在 Mac 电脑上安装 Postman 的完整步骤。 1. 下载 Postman 安装包 方法一&#xff1a;官网下载 打开 Postman 官方网站&#xff1a;https://www.postman.com/downlo…

MySQL连接报错处理:1130-host ... is not allowed to connect to this MySql server

在MySQL安装完成后&#xff0c;很多开发者会遇到这样一个问题&#xff1a; 错误代码 1130&#xff1a;host xxx.xxx.xxx.xxx is not allowed to connect to this MySql server 这个错误通常出现在你尝试通过远程工具&#xff08;如 Navicat、DBeaver 等&#xff09;连接 MySQL …

五、单元测试-概述入门

目录 main方法测试缺点&#xff1a; 在pom.xm中&#xff0c;引入junit的依赖。,在test/java目录下&#xff0c;创建测试类&#xff0c;并编写对应的测试方法&#xff0c;并在方法上声明test注解。 练习&#xff1a;验证身份证合法性 测试成功 测试失败 main方法测试缺点&am…

Python中的None值是什么?——浅析“无”的哲学与编程智慧

在Python编程世界中&#xff0c;None是一个极其特殊且基础的概念。它既是一个对象&#xff0c;又是表达“无”与“空”的唯一标识符。它的设计和应用不仅反映了Python对“无”这一哲学问题的简洁处理方式&#xff0c;也蕴含着深刻的编程理念和实践智慧。 本文将深入剖析Python…

Linux正则三剑客篇

一、历史命令 history 命令 &#xff1a;用于输出历史上使用过的命令行数量及具体命令。通过 history 可以快速查看并回顾之前执行过的命令&#xff0c;方便重复操作或追溯执行过程。 !行号 &#xff1a;通过指定历史命令的行号来重新执行该行号对应的命令。例如&#xff0c;若…

配网导线自取电式视频监测装置

在现代社会&#xff0c;电力如同城市的血脉&#xff0c;支撑着生活与生产的正常运转。而电力配网系统&#xff0c;作为电力传输和分配的“最后一公里”&#xff0c;其稳定运行尤为关键。然而&#xff0c;复杂的配电设备、暴露的线路以及多变的外部环境&#xff08;如人为施工破…

8天Python从入门到精通【itheima】-60~61

目录 60节-变量的作用域 1.局部变量 2.局部变量的代码演示 3.全局变量 4.全局变量的代码演示 5.global关键字 【1】体会局部变量和全局变量的区别 【2】global关键字&#xff1a;将变量直接声明为全局变量 6.小节总结 61节-第五章末尾-关于函数的综合案例-ATM机 1.案例…

Java函数式编程(上)

课程&#xff1a;黑马程序员Java函数式编程全套视频教程&#xff0c;Lambda表达式、Stream流、函数式编程一套全通关_哔哩哔哩_bilibili 函数式编程的优点&#xff1a; 代码简洁功能强大并行处理链式调用延迟执行 一、函数伊始 函数是一段可重复使用的代码块&#xff0c;用于…

Excel 批量下载PDF、批量下载考勤图片——仙盟创梦IDE

在办公场景中&#xff0c;借助应用软件实现 Excel 批量处理考勤图片、电子文档与 PDF&#xff0c;具有诸多显著优势。 从考勤图片处理来看&#xff0c;通过 Excel 批量操作&#xff0c;能快速提取图片中的考勤信息&#xff0c;如员工打卡时间、面部识别数据等&#xff0c;节省…

JavaEE: wait和notify

wait和notify(都需要搭配synchronized使用) join&#xff08;&#xff09;&#xff0c;哪个线程调用这个方法&#xff0c;哪个线程就堵塞 wait和notify都是Object的方法&#xff0c;随便定义一个对象都可以使用 wait、sleep、join的区别&#xff1a; wait&#xff1a;需要搭配…