52. N-Queens II

題目描述

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.pswp.cn/web/82186.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82186.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82186.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解鎖AI智能Agent的“風格基因”

從“黑箱”到“智能Agent”:LangChain的架構哲學革新 在LangChain出現之前,開發者直接調用LLM API的方式,充滿了“黑箱”操作的挑戰: 緊耦合的業務邏輯與模型調用: 所有的業務邏輯、API調用、記憶管理、錯誤處理等都可能混雜在同一個代碼塊中。這導致代碼脆弱、難以測試,…

大數據運維過程中常見的一些操作

大數據運維是確保大數據系統穩定運行、高效處理數據的關鍵環節。以下是大數據運維過程中常見的一些操作和任務: 1. 集群部署與配置 基礎設施搭建:部署服務器、網絡設備、存儲系統,配置虛擬化環境(如 Docker、Kubernetes)。分布式系統安裝:安裝 Hadoop、Spark、Hive、Kaf…

STM32中,如何理解看門狗

在STM32微控制器中&#xff0c;看門狗&#xff08;Watchdog&#xff09;是一種硬件計時器&#xff0c;用于監控系統運行狀態&#xff0c;防止軟件死鎖或跑飛。其核心機制是&#xff1a;系統需定期“喂狗”&#xff08;復位看門狗計數器&#xff09;&#xff0c;若未及時喂狗&am…

[AI算法] LLM中的gradient checkpoint機制

文章目錄 什么是gradient checkpoint原理使用場景 注意事項 什么是gradient checkpoint gradient checkpoint是一種優化深度學習模型內存使用的技術&#xff0c;尤其在訓練大型模型時非常有用。它通過犧牲計算時間為代價來減少顯存占用。大多數情況下&#xff0c;transformers…

船舶二階非線性響應方程的EKF與UKF參數辨識

船舶二階非線性響應方程的EKF與UKF參數辨識 本文將詳細闡述使用Python實現擴展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)對船舶二階非線性響應方程進行參數辨識的過程。全文包含理論推導、算法實現、仿真驗證及結果分析。—### 1. 船舶二階非線性響應方程建模船舶運動可表示為&am…

【ARM AMBA APB 入門 1.1 -- APB 讀寫寄存器 RTL 實現】

請閱讀【ARM AMBA 總線 文章專欄導讀】 文章目錄 APB 寄存器訪問APB 讀寄存器 RTL 代碼實現APB 寫寄存器 RTL 代碼實現 APB 寄存器訪問 APB 讀寄存器 RTL 代碼實現 APB 總線讀寄存器操作代碼實現&#xff1a; wire [31:0] SOC_PLL_CFG_REG; wire [31:0] SOC_PLL_LOCK_REG; wi…

C++修煉:位圖和布隆過濾器

Hello大家好&#xff01;很高興我們又見面啦&#xff01;給生活添點passion&#xff0c;開始今天的編程之路&#xff01; 我的博客&#xff1a;<但凡. 我的專欄&#xff1a;《編程之路》、《數據結構與算法之美》、《題海拾貝》、《C修煉之路》 1、引言 在計算機科學…

Java大廠后端技術棧故障排查實戰:Spring Boot、Redis、Kafka、JVM典型問題與解決方案

Java大廠后端技術棧故障排查實戰&#xff1a;Spring Boot、Redis、Kafka、JVM典型問題與解決方案 引言 在互聯網大廠&#xff0c;Java后端系統往往承載著高并發、高可用和復雜業務需求。系統架構日益復雜&#xff0c;涵蓋微服務、緩存、消息隊列、數據庫等多種組件&#xff0…

交叉編譯tcpdump工具

1.導出交叉編譯工具鏈 export PATH$PATH:/opt/rockchip/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin 下載源碼包libpcap-1.10.5&#xff0c;配置、并編譯安裝。 github倉庫地址 ./configure --hostarm-linux CCarm-linux-gnueabihf-gcc --prefix$PWD/install …

Pytest Fixture 是什么?

Fixture 是什么&#xff1f; Fixture 是 Pytest 測試框架的核心功能之一&#xff0c;用于為測試函數提供所需的依賴資源或環境。它的核心目標是&#xff1a; ? 提供測試數據&#xff08;如模擬對象、數據庫記錄&#xff09; ? 初始化系統狀態&#xff08;如配置、臨時文件&a…

【深度剖析】流處理系統性能優化:解決維表JOIN、數據傾斜與數據膨脹問題

目錄 前言:為什么你的流處理作業總是慢? 一、維表JOIN優化:從普通連接到高性能查詢 1.1 時態表的雙面性 1.2 Lookup Join 優化 1.3 多表JOIN優化策略 二、數據傾斜:單分區也會遇到的隱形殺手 2.1 單分區數據傾斜 2.2 熱點鍵打散技術 2.3 時間窗口預聚合 三、數據…

Codeforces Round 1028 (Div. 2)(ABC)

A. Gellyfish and Tricolor Pansy 翻譯&#xff1a; 水母和小花在玩一個叫 “決斗 ”的游戲。 水母有 a HP&#xff0c;花花有 b HP。 它們各有一個騎士。水母的騎士有 c HP&#xff0c;而花花的騎士有 d HP。 他們將進行一輪游戲&#xff0c;直到其中一方獲勝。對于 k1、2、.…

數字創新智慧園區建設及運維方案

該文檔是 “數字創新智慧園區” 建設及運維方案,指出傳統產業園區存在管理粗放等問題,“數字創新園區” 通過大數據、AI、物聯網、云計算等數字化技術,旨在提升園區產業服務、運營管理水平,增強競爭力,實現綠色節能、高效管理等目標。建設內容包括智能設施、核心支撐平臺、…

緩存一致性協議的影響

在操作系統中&#xff0c;線程切換相比進程切換更輕量級的關鍵原因之一是 緩存&#xff08;Cache&#xff09;的有效性&#xff0c;尤其是對 CPU 緩存&#xff08;如 L1/L2/L3&#xff09;和 TLB&#xff08;Translation Lookaside Buffer&#xff09;的影響。以下從緩存角度詳…

六月一日python-AI代碼

python 運行 import turtle as t # 導入turtle庫并簡稱為t&#xff0c;用于圖形繪制 import random # 導入random庫&#xff0c;用于隨機數生成t.delay(0) # 設置繪圖延遲為0&#xff0c;加快繪圖速度 colors ["red", "blue", "gr…

58、辣椒種植學習

辣椒&#xff08;學名&#xff1a;Capsicum annuum&#xff09;屬于茄科辣椒屬&#xff0c;是一種重要的蔬菜兼調味作物&#xff0c;具有較高的經濟價值和營養價值。其果實富含維生素C、辣椒素等成分&#xff0c;既可鮮食&#xff0c;也可加工成干辣椒、辣椒粉、辣椒醬等產品&a…

C語言進階--程序的編譯(預處理動作)+鏈接

1.程序的翻譯環境和執行環境 在ANSI C標準的任何一種實現中&#xff0c;存在兩種不同的環境。 第一種是翻譯環境&#xff1a;將源代碼轉換為可執行的機器指令&#xff08;0/1&#xff09;; 第二種是執行環境&#xff1a;用于實際執行代碼。 2.詳解編譯鏈接 2.1翻譯環境 程…

微調大模型:什么時候該做,什么時候不該做?

目錄 一、什么是“微調”&#xff1f;你真的需要它嗎&#xff1f; 二、什么時候不該微調&#xff1f; &#x1f6ab; 不該微調的 5 個典型場景&#xff1a; 1. 通用問答、閑聊、常識類內容 2. 企業內部問答 / 文檔助手 3. 想要通過微調“學會格式” 4. 沒有大量高質量標…

微深節能 碼頭裝卸船機定位與控制系統 格雷母線

微深節能碼頭裝卸船機定位與控制系統&#xff1a;格雷母線技術賦能港口作業智能化升級 在現代化港口散貨裝卸作業中&#xff0c;裝卸船機是連接船舶與陸域運輸的核心樞紐設備。傳統裝卸船機依賴人工操作&#xff0c;存在定位偏差大、動態協同難、安全風險高等痛點。微深節能基于…

如何檢查popover氣泡組件樣式?調試懸停元素CSS樣式的解決方案

1. 問題 當我們要檢查這種彈出層的CSS樣式時&#xff0c;會發現特別棘手&#xff0c;因為鼠標移走就消失了。如果是display:none控制的&#xff0c;可能還能找到&#xff0c;如果是用js通過v-if控制的&#xff0c;就無法調試了。 2. 解決方案 使用 setTimeout debugger 就…