Chessboard and Queens

題目描述

Your task is to place eight queens on a chessboard so that no two queens are attacking each other. As an additional challenge, each square is either free or reserved, and you can only place queens on the free squares. However, the reserved squares do not prevent queens from attacking each other.

How many possible ways are there to place the queens?

輸入

The input has eight lines, and each of them has eight characters. Each square is either free (.) or reserved (*).

輸出

Print one integer: the number of ways you can place the queens.

樣例輸入?
........
........
..*.....
........
........
.....**.
...*....
........
樣例輸出
65
思路分析

1.任意兩皇后不能放在同一行、同一列、同一對角線上

2.采用回溯算法解決帶障礙物的八皇后問題,通過遞歸和條件判斷找出所有可行的放置方案并統計數量。

代碼
#include<bits/stdc++.h>
#define ll long long
using namespace std;
char chessboard[8][8];
ll ans,col[8];
int issafe(int i,int j){if(i==0)return 1;else{for(int k=0;k<i;k++){int a=abs(i-k),b=abs(j-col[k]);if(a==b||b==0)return 0;}return 1;}
}
void solve(int i){for(int j=0;j<8;j++){if(chessboard[i][j]!='*'){if(issafe(i,j)){if(i==7)ans++;else{col[i]=j;solve(i+1);}}}}
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);for(int i=0;i<8;i++){for(int j=0;j<8;j++){cin>>chessboard[i][j];}}solve(0);cout<<ans;return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92979.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92979.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92979.shtml

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

相關文章

菜鳥教程R語言一二章閱讀筆記

菜鳥教程R語言一二章閱讀筆記 一.R語言基礎教程 R 語言是為數學研究工作者設計的一種數學編程語言&#xff0c;主要用于統計分析、繪圖、數據挖掘。側重于數學工作者 R語言特點如下&#xff1a; R 語言環境軟件屬于 GNU 開源軟件&#xff0c;兼容性好、使用免費 語法十分有利于…

Tactile-VLA:解鎖視覺-語言-動作模型的物理知識,實現觸覺泛化

25年7月來自清華、中科大和上海交大的論文“Tactile-VLA: Unlocking Vision-Language- Action Model’s Physical Knowledge For Tactile Generalization ”。 視覺-語言-動作 (VLA) 模型已展現出卓越的成就&#xff0c;這得益于其視覺-語言組件豐富的隱性知識。然而&#xff0…

HTML初學者第五天

<1>表格標簽1.1基本語法<table><tr><td>單元格內的文字</td>...</tr>... </table>1.<table></table>是用于定義表格的標簽。2.<tr></tr>標簽用于定義表格中的行&#xff0c;必須嵌套在<table></ta…

FastAPI入門:demo、路徑參數、查詢參數

demo from fastapi import FastAPIapp FastAPI()app.get("/") async def root():return {"message": "Hello World"}在終端運行 fastapi dev main.py結果如下&#xff1a;打開http://127.0.0.1:8000&#xff1a;交互式API文檔&#xff1a;位于h…

pytest中的rerunfailures的插件(失敗重試)

目錄 1-- 安裝rerunfailures插件 2-- rerunfailures的使用 3-- 重試案例 安裝rerunfailures插件 pip install pytest-rerunfailures點擊左下角的控制臺面板 輸入 pip install pytest-rerunfailures 出現上圖的情況就算安裝完成了 rerunfailures的使用 可以添加一下參數使用&…

SpringMVC——建立連接

建立連接 將用戶&#xff08;瀏覽器&#xff09;和java程序連接起來&#xff0c;也就是訪問一個地址能夠調用到我們的Spring程序。在 Spring MVC 中使用 RequestMapping來實現URL 路由映射&#xff0c;也就是瀏覽器連接程序的作用。 1.RequestMapping注解介紹 RequestMapping…

蘑菇云路由器使用教程

1: 手機連接路由器的Wi-Fi&#xff0c;在瀏覽器輸入背面IP地址&#xff1a;192.168.132.1進入路由管理界面1.1: 電腦連接路由器網線在瀏覽器輸入背面IP地址&#xff1a;192.168.132.1進入路由管理界面賬號&#xff1a;admin密碼&#xff1a;123456782:選擇上網模式2.1&#xff…

ubuntu的tar解壓指令相關

1. 指令說明參數作用-xextract&#xff0c;解包-z通過 gzip 解壓&#xff08;.tar.gz、.tgz&#xff09;-vverbose&#xff0c;顯示過程-ffile&#xff0c;后面緊跟壓縮包文件名2. 什么時候用z參數場景是否加 -z結果.tar.gz / .tgz? 必須加 -z正常解壓.tar.gz / .tgz? 沒加 -…

車載診斷刷寫 --- Flash關于擦除和寫入大小

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 簡單,單純,喜歡獨處,獨來獨往,不易合同頻過著接地氣的生活,除了生存溫飽問題之外,沒有什么過多的欲望,表面看起來很高冷,內心熱情,如果你身…

【Verilog HDL 入門教程】 —— 學長帶你學Verilog(基礎篇)

文章目錄一、Verilog HDL 概述1、Verilog HDL 是什么2、Verilog HDL產生的背景3、Verilog HDL 和 VHDL的區別二、Verilog HDL 基礎知識1、Verilog HDL 語言要素1.1、命名規則1.2、注釋符1.3、關鍵字1.4、數值1.4.1、整數及其表示1.4.2、實數及其表示1.4.3、字符串及其表示2、數…

SQL Developer Data Modeler:一款免費跨平臺的數據庫建模工具

SQL Developer Data Modeler 是由 Oracle 公司開發的一款免費的圖形化數據建模和數據庫設計工具&#xff0c;用于創建、瀏覽和編輯邏輯模型、關系模型、物理模型、多維模型和數據類型模型。 SQL Developer Data Modeler 既是一個獨立的應用程序&#xff0c;同時也被集成到了 Or…

CSS面試題及詳細答案140道之(21-40)

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

篇四 tcp,udp客戶端服務器編程模型

一 前言 本篇內容主要介紹tcp&#xff0c;udp客戶端服務器編程的基礎API和示例代碼。 二 APIAPI用途使用方socket創建套接字&#xff0c;這是網絡通信的橋梁Tcp,udp客戶端&#xff0c;服務器bind綁定本地IP地址和端口Tcp,udp客戶端&#xff0c;服務器listen監聽端口&#xff0c…

ESP32學習筆記_Components(1)——使用LED Strip組件點亮LED燈帶

LED strip ESP32-S3 的 RMT&#xff08;Remote Control Transceiver&#xff0c;遠程控制收發器&#xff09;外設最初設計用于紅外收發&#xff0c;但由于其數據格式的靈活性&#xff0c;RMT 可以擴展為通用的信號收發器&#xff0c;能夠發送或接收多種類型的信號&#xff1b;…

無人機拋投模塊分析

一、設計核心要點1. 結構輕量化與強度平衡 材料選擇&#xff1a;主體采用航空鋁、碳纖維復合材料&#xff0c;降低自重并保證承重強度。 機械傳動優化&#xff1a;齒輪-齒條傳動替代傳統絲桿結構&#xff0c;簡化機構并提升可靠性。 模塊化設計&#xff1a;支持多倉位獨立控…

【硬件-筆試面試題】硬件/電子工程師,筆試面試題-33,(知識點:二極管結溫,熱阻,二極管功耗計算)

目錄 1、題目 2、解答 步驟一&#xff1a;明確熱阻的相關公式 步驟二&#xff1a;計算二極管的功耗 步驟三&#xff1a;計算二極管的結溫 3、相關知識點 一、熱阻的定義 二、二極管功耗的計算 三、結溫的計算 題目匯總版--鏈接&#xff1a; 【硬件-筆試面試題】硬件…

【LeetCode 熱題 100】79. 單詞搜索——回溯

Problem: 79. 單詞搜索 給定一個 m x n 二維字符網格 board 和一個字符串單詞 word 。如果 word 存在于網格中&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 單詞必須按照字母順序&#xff0c;通過相鄰的單元格內的字母構成&#xff0c;其中“相鄰”單元格…

ARM SMMUv3控制器注冊過程分析(八)

1.概述 ARM SMMUv3控制器初始化及設備樹分析&#xff08;七&#xff09;中描述了IOMMU控制器初始化過程。SMMU驅動最后調用iommu_device_register將其注冊到內核中&#xff0c;下面分析一下SMMU控制器注冊過程中都做了那些工作。 如下圖所示&#xff0c;SMMU控制器注冊過程中…

Idefics3:構建和更好地理解視覺-語言模型:洞察與未來方向

溫馨提示&#xff1a; 本篇文章已同步至"AI專題精講" Idefics3&#xff1a;構建和更好地理解視覺-語言模型&#xff1a;洞察與未來方向 摘要 視覺-語言模型&#xff08;VLMs&#xff09;領域&#xff0c;接收圖像和文本作為輸入并輸出文本的模型&#xff0c;正在快…

利用DeepSeek解決kdb+x進行tpch測試的幾個問題及使用感受

上文其實沒有成功運行tpch的22個標準查詢中的任何一個&#xff0c;因為DeepSeek原始給出的導入語句有錯&#xff0c;有一些表沒有導入。 1.解決類型及長度問題導致的插入tbl文件到內存表失敗。 kdbx的Reference card()提到的基本數據類型如下&#xff1a; Basic datatypes n …