DFS简单应用:n-皇后问题
题目条件n−皇后问题是指将n个皇后放在n×n的国际象棋棋盘上使得皇后不能相互攻击到即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n请你输出所有的满足条件的棋子摆法。输入格式共一行包含整数n。输出格式每个解决方案占n行每行输出一个长度为n的字符串用来表示完整的棋盘状态。其中.表示某一个位置的方格状态为空Q表示某一个位置的方格上摆着皇后。每个方案输出完成后输出一个空行。注意行末不能有多余空格。输出方案的顺序任意只要不重复且没有遗漏即可。数据范围1≤n≤9有两种解法第一种是按行搜索第二种是对每一个格子都进行“放与不放”的考虑第一种解法//按行搜索 #include bits/stdc.h using namespace std; const int N10; int n; char g[N][N]; bool col[N],dg[N],udg[N];//分别代表列正对角线反对角线 void dfs(int r) { if(rn) { for(int i0;in;i) { puts(g[i]); } puts( ); return; } for(int i0;in;i) { if(!col[i]!dg[ir]!udg[i-rn])//正对角线的函数可写作y-xb反对角线的函数可写作yxb通过y与x的运算并设置偏移量n可以使得同一条对角线上的下标相同 { g[r][i]Q; col[i]dg[ir]udg[i-rn]true; dfs(r1); g[r][i].;//恢复现场 col[i]dg[ir]udg[i-rn]false; } } } int main() { cinn; for(int i0;in;i) { for(int j0;jn;j) { g[i][j].; } } dfs(0); return 0; }第二种解法//另一种搜索顺序对每一个格子都进行“放与不放”的考虑 #include bits/stdc.h using namespace std; const int N10; int n; bool row[N],col[N],dg[N],udg[N]; char g[N][N]; void dfs(int r,int c,int s)//分别代表行列和目前已放置的皇后数量 { if(cn) c0,r;//这一行结束了换到下一行 if(rn)//枚举完最后一行了 { if(sn)//找到一组解 { for(int i0;in;i) puts(g[i]); puts( ); } return; } //不放皇后 dfs(r,c1,s); //放皇后 if(!row[r]!col[c]!dg[rc]!udg[r-cn]) { g[r][c]Q; row[r]col[c]dg[rc]udg[r-cn]true; dfs(r,c1,s1); g[r][c].; row[r]col[c]dg[rc]udg[r-cn]false; } } int main() { cinn; for(int i0;in;i) { for(int j0;jn;j) { g[i][j].; } } dfs(0,0,0);//从左上角开始 return 0; }

相关新闻

如何用Sticky彻底解决Linux桌面信息碎片化难题

如何用Sticky彻底解决Linux桌面信息碎片化难题

如何用Sticky彻底解决Linux桌面信息碎片化难题 【免费下载链接】sticky A sticky notes app for the linux desktop 项目地址: https://gitcode.com/gh_mirrors/stic/sticky 你是否也曾经历过这样的工作场景:开发时需要频繁切换窗口查找命令片段,…

2026/5/17 1:36:13 阅读更多 →
雪女-斗罗大陆-造相Z-Turbo模型推理性能优化:从操作系统层面调优

雪女-斗罗大陆-造相Z-Turbo模型推理性能优化:从操作系统层面调优

雪女-斗罗大陆-造相Z-Turbo模型推理性能优化:从操作系统层面调优 想让你的“雪女”模型跑得更快吗?很多时候,我们费尽心思调整模型参数,却忽略了最底层、也最直接的系统环境。模型推理速度慢,可能不是模型本身的问题&…

2026/7/3 1:22:40 阅读更多 →
数据库课程设计创新选题:基于万象熔炉·丹青幻境的AI艺术画廊管理系统

数据库课程设计创新选题:基于万象熔炉·丹青幻境的AI艺术画廊管理系统

数据库课程设计创新选题:基于万象熔炉丹青幻境的AI艺术画廊管理系统 又到了一年一度的数据库课程设计选题季。你是不是还在为“学生信息管理系统”、“图书借阅系统”这类老掉牙的题目感到头疼?想做一个既有技术含量,又能让老师和同学眼前一…

2026/5/17 9:46:15 阅读更多 →

最新新闻

这一期讲一下佳能清零软件的问题,常见报错5B00,5B02,5B04,1700,1702,1704,P07,E08这些,其实这些故障只需有手就会修,哈哈。我用的是佳能V6.200原版清零软件,亲测完美

这一期讲一下佳能清零软件的问题,常见报错5B00,5B02,5B04,1700,1702,1704,P07,E08这些,其实这些故障只需有手就会修,哈哈。我用的是佳能V6.200原版清零软件,亲测完美

蓝凑云:点这里下载 密码:00 百度云:点这里下载 备用:https://wwaxr.lanzouw.com/ig11k3s4cpad 密码:00 常见型号如下: G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G151…

2026/7/3 18:00:07 阅读更多 →
2026高考志愿填报必备资料包(专科+本科通用)

2026高考志愿填报必备资料包(专科+本科通用)

📚 核心资料清单(均为百度网盘链接) - 最新高职高专专业目录:https://pan.baidu.com/s/1msj12egrVRe8hfjW5d8g2A 提取码:t15p - 张雪峰志愿填报合集①:https://pan.baidu.com/s/1T7sDQ8s3KUJH3q9EIwEv-…

2026/7/3 17:58:06 阅读更多 →
GESP2026年6月认证C++六级( 第三部分编程题(1、条形蛋糕))精讲

GESP2026年6月认证C++六级( 第三部分编程题(1、条形蛋糕))精讲

🍰 第一幕:蛋糕王国来了一个新店长1、暑假到了。蛋糕王国里,新开了一家蛋糕店。每天早晨,师傅都会做好一整条长长的蛋糕。(1)例如今天做了一条:════════════════ 长度&#xff…

2026/7/3 17:58:06 阅读更多 →
自动整列机PLC控制系统验证方案设计与ALCOA+实现

自动整列机PLC控制系统验证方案设计与ALCOA+实现

在制药行业,计算机化系统验证(CSV)是设备合规投入生产的必要环节。对于产线后端的自动整列机(或称自动码盘机、整列收瓶机)而言,其PLC控制系统的验证需要覆盖硬件确认、软件功能测试、数据完整性验证等多个…

2026/7/3 17:56:05 阅读更多 →
中外大模型能力对比分析

中外大模型能力对比分析

中外大模型能力差距:结构性成因的深度分析属性说明文档版本v1.0撰写日期2026-07-02文档类型技术战略分析分析视角机制解释,而非榜单罗列 摘要 「国产大模型不如国外」是一个过于粗糙的命题。截至 2026 年上半年,斯坦福 HAI《AI Index 2026》指…

2026/7/3 17:52:04 阅读更多 →
GHelper:如何用开源工具彻底解放你的华硕笔记本性能潜力?

GHelper:如何用开源工具彻底解放你的华硕笔记本性能潜力?

GHelper:如何用开源工具彻底解放你的华硕笔记本性能潜力? 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivoboo…

2026/7/3 17:52:04 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻