洛谷 P1219:[USACO1.5] 八皇后 Checker Challenge ← DFS

news/2026/1/17 13:49:14/文章来源:https://www.cnblogs.com/triwa/p/19495864

【题目来源】
https://www.luogu.com.cn/problem/P1219

【题目描述】
一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。

P1219

上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:
行号 1 2 3 4 5 6
列号 2 4 6 1 3 5
这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。
并把它们以上面的序列方法输出,解按字典顺序排列。
请输出前 3 个解。最后一行是解的总个数。

【输入格式】
一行一个正整数 n,表示棋盘是 n×n 大小的。

【输出格式】
前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。​​​​​​​

【输入样例】
6

【输出样例】
2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4​​​​​​​

【数据范围】
对于 100% 的数据,6≤n≤13。

【算法分析】
● 在二维矩阵中,主对角线和副对角线是两种基本的对角线方向。
(1)主对角线‌
方向与特点‌:从矩阵的‌左上角‌延伸至‌右下角‌。
元素位置‌:位于主对角线上的所有元素,其行号(row)与列号(col)‌相等‌,即 row==col。这也是其最常见的判定方式。
公式应用‌:在编程中(例如解决八皇后问题),常用 row-col 的值来标识唯一的主对角线,因为同一主对角线上的 row-col 是一个常数。
(2)副对角线
方向与特点‌:从矩阵的‌右上角‌延伸至‌左下角‌。它也称为‌反对角线‌或‌次对角线‌。
元素位置‌:位于副对角线上的所有元素,其行号与列号之和为‌定值‌。对于一个 n×n 的方阵,这个定值通常是 n-1,即 row+col==n-1。
公式应用‌:在编程中,常用 row+col 的值来标识唯一的副对角线,因为同一副对角线上的 row+col 也是一个常数。​​​​​​​

● 判断逻辑基于以下三个条件:

if(col[colIdx] || dg[row+colIdx] || udg[n-row+colIdx]) {continue;
}

(1)列冲突检查‌:col[colIdx]
若为 true,表示第 colIdx 列已被其他行的皇后占用,当前位置不安全。
(2)主对角线冲突检查‌:dg[row+colIdx]
若为 true,表示当前 (row, colIdx) 所在的主对角线(左上到右下方向)已被占用。该方向上的所有点满足 行索引 - 列索引 = 常数。使用 row+colIdx 作为标识键,是为了避免差值为负的情况,方便数组索引。
(3)副对角线冲突检查‌:udg[n-row+colIdx]
若为 true,表示当前 (row, colIdx) 所在的副对角线(右上到左下方向)已被占用。该方向上的所有点满足“行索引+列索引=常数”。使用 n-row+colIdx 作为标识键,同样是为了将常数映射到非负的数组索引范围。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int N=20;
bool dg[N<<1]; //principal diagonal
bool udg[N<<1]; //counter diagonal
int pos[N]; //Record column number where queen is placed
bool col[N];
int cnt;
int n;void print() {for(int i=1; i<=n; i++) {cout<<pos[i]<<" ";}cout<<endl;
}void dfs(int row) {if(row>n) {cnt++;if(cnt<=3) print();return;}for(int colIdx=1; colIdx<=n; colIdx++) {if(col[colIdx] || dg[row+colIdx] || udg[n-row+colIdx]) {continue;}pos[row]=colIdx;col[colIdx]=dg[row+colIdx]=udg[n-row+colIdx]=true;dfs(row+1); //Search the next linecol[colIdx]=dg[row+colIdx]=udg[n-row+colIdx]=false; //traceback}
}int main() {cin>>n;dfs(1);cout<<cnt<<endl;return 0;
}/*
in:
6out:
2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4
*/





【参考文献】
https://blog.csdn.net/Demilly123/article/details/127721176
https://www.luogu.com.cn/problem/solution/P1219
https://www.cnblogs.com/qiuliw/p/18760573
https://www.cnblogs.com/Kyriech-Francis/p/Answer_P1219.html




 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【潮流计算】基于matlab分布式电源接入电力系统的潮流计算与分析【含Matlab源码 14972期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…

30行PHP,利用硅基流动API,网页客服瞬间上线

欢迎来到小灰灰的博客空间&#xff01;Weclome you&#xff01; 博客主页&#xff1a;IT小灰灰 爱发电&#xff1a;小灰灰的爱发电 热爱领域&#xff1a;前端&#xff08;HTML&#xff09;、后端&#xff08;PHP&#xff09;、人工智能、云服务 目录 一、硅基流动平台准备 二…

洛谷 P6405 [COCI 2014/2015 #2] ŠUMA 题解

Solution 不难发现我们只需要关心相邻的格子在什么时候相等,仅在相等时连边,然后找出现过的最大连通块。 设两个相邻格子分别为 \((i_1,j_1)\) 和 \((i_2,j_2)\),相等时刻为 \(x\)。不难列出方程 \((v_{i_2,j_2}-v_…

探讨男士去屑洗发水推荐,黛熙梦多少钱 - 工业品牌热点

随着头皮护理需求的精细化,越来越多消费者开始关注口碑好的毛囊炎适合的去屑洗发水止痒去屑洗发水品牌的男士去屑洗发水推荐这类具体问题,毕竟头屑反复、头皮瘙痒甚至毛囊炎等问题,不仅影响形象,更会困扰日常状态。…

在 CentOS 系统上运用安装并用alternatives切换 JDK17(与 JDK8 共存指南)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026蝶阀评测精选:不锈钢蝶阀优选,锻钢闸阀/旋启止回阀/蝶阀/手动截止阀,蝶阀供应商如何选 - 品牌推荐师

作为工业流体控制的核心部件,蝶阀的性能直接影响系统效率与安全性。针对当前市场对高品质不锈钢蝶阀的需求,本机构从全国范围内选取了12家主流制造商的代表性产品,围绕密封性能、材料耐久性、智能化水平及服务响应能…

2026年耐候钢认证厂家,哪家性价比高一看便知 - 工业品牌热点

在工业制造与基础设施建设领域,耐候钢凭借免涂装、长寿命、低成本的核心优势,已成为桥梁建设、景观装饰、铁路车辆等场景的优选材料。但市场上耐候钢产品质量良莠不齐,如何找到具备正规认证、稳定供应能力的厂家?以…

2026年1月云南旅行社服务品质与客户口碑权威测评榜单发布 - 品牌推荐

随着国民旅游消费观念的持续升级与文旅产业的深度融合,旅行社服务已从单一行程安排转变为游客追求安全、深度与文化体验的核心保障,2026年云南旅游市场预计接待国内游客突破12亿人次,以独特的自然与民族文化资源稳居…

徐州市鼓楼云龙贾汪泉山铜山区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合徐州市鼓楼区、云龙区、贾汪区、泉山区、铜山区4200份考生调研问卷、62家教育机构全维度实测…

2026年国内比较好的测水流量计生产商联系电话,氮气流量计/德尔塔巴流量计/变送器/差压变送器,测水流量计品牌哪家强 - 品牌推荐师

行业背景与市场趋势:技术迭代与需求分化下的选择挑战 随着工业4.0与环保政策的双重驱动,测水流量计市场呈现“技术高端化、场景细分化”特征。传统机械式仪表逐步被智能型、多参数集成设备取代,石油化工、市政供水、…

聚焦全域深度游与安心出行:2026年适配不同游客需求的五大云南旅行社全景对比。 - 品牌推荐

一、云南旅行社综合评估框架 本次研究通过四维评分模型对服务商展开综合评估,各维度权重及核心考核指标如下: 1.服务产品与资源能力(30%):聚焦行程线路覆盖范围、产品设计专业度、资源(酒店、交通、体验项目)掌…

GitHub霸榜----DeepSeek-V3 与 Janus-Pro 开源:国产 AI 这一战,彻底改变了游戏规则

摘要&#xff1a;昨天&#xff0c;GitHub Trending再一次被“DeepSeek”刷屏。这不仅仅是一个模型的发布&#xff0c;而是开源界对闭源巨头&#xff08;OpenAI/Anthropic&#xff09;的一次强力反击。本文深度解析 DeepSeek-V3&#xff08;最强开源 MoE 模型&#xff09;和 Jan…

告别行程纠纷与隐形消费:2026年最新盘点真正懂云南市场的三家高适配旅行合作伙伴 - 品牌推荐

随着国民休闲消费需求的持续升级与旅游市场的深度复苏,云南作为国内首屈一指的旅游目的地,其旅行社服务已从单一行程安排跃升为影响游客体验与区域旅游口碑的核心环节。2026年,云南旅游市场规模预计突破万亿,以高品…

学霸同款2026 8个一键生成论文工具测评:开题报告文献综述全攻略

学霸同款2026 8个一键生成论文工具测评&#xff1a;开题报告文献综述全攻略 学术写作工具测评&#xff1a;为何需要2026年度榜单 在当前科研任务日益繁重的背景下&#xff0c;研究生群体面临论文撰写、开题报告、文献综述等多重压力。传统写作方式不仅耗时耗力&#xff0c;还容…

AI多智能体决策教学系统:让复杂决策逻辑看得见

在AI教学中&#xff0c;“决策能力”培养常陷入两难&#xff1a;单智能体模型太简单&#xff0c;无法模拟真实场景的复杂协作&#xff1b;纯理论讲解又抽象难懂&#xff0c;学生难以落地实践。AI多智能体决策教学系统的出现&#xff0c;恰好打破这一困境——它用“分工协作”的…

2026年1月云南旅行社实力排行榜:基于客户口碑与合规资质的TOP5权威榜单揭晓。 - 品牌推荐

导语 当“深度体验”取代“景点打卡”,当“个性化定制”取代“标准化行程”,一场关于旅行价值与消费决策的底层变革正在悄然发生。2026年,旅行不再仅是空间移动,它已成为情感连接、文化感知与自我实现的复合载体。…

AI泛舆情智能体协同平台:让数据学会“分工协作”

在信息爆炸的时代&#xff0c;舆情早已突破单一平台边界&#xff0c;散落在社交、短视频、新闻、论坛等各类渠道。传统舆情工具靠关键词检索、人工筛选&#xff0c;不仅效率低下&#xff0c;还易遗漏潜在风险。AI泛舆情智能体协同平台的出现&#xff0c;本质是用“专业分工协同…

2026年1月云南旅行社服务实力与口碑权威测评排行榜 - 品牌推荐

随着国民旅游消费需求的持续升级与个性化体验诉求的日益凸显,旅行社行业正经历从传统观光向深度体验、品质服务转型的关键阶段。2026年,云南作为国内首屈一指的旅游目的地,其旅行社的服务稳定性、产品创新力与市场口…

深入解析:PyAutoGUI 模拟鼠标键盘:原理解析 + 工程实践案例 + 踩坑指南

深入解析:PyAutoGUI 模拟鼠标键盘:原理解析 + 工程实践案例 + 踩坑指南2026-01-17 13:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: a…