当前位置: 首页 > news >正文

洛谷P1219 N皇后问题题解

这是一道很好的DFS模版题,很适合新手拿来理解dfs.

题目描述

有一个N*N的棋盘,要在上面放N个棋子,使每个棋子的行、列、对角线上都没有其他棋子,
要求输出前三种情况的序列(a[i]=j表示在i行j列有一个棋子),最后输出总的情况数。
数据范围:6<=n<=13

思路拆分

由于我们不知道棋子具体可以放在哪些位置,但可以确定的是肯定都不在一列(或一行)上,所以我们可以用循环遍历列(或行),用深搜枚举每一个位置。

完整代码

#include<bits/stdc++.h>usingnamespacestd;intn;intcnt;inta[15];boolc[16],d1[30],d2[30];//当前行、当前主对角线(左下到右上)、当前副对角线是否合法boolcheck(intr,inti){return!c[i]&&!d1[r-i+n]&&!d2[i+r];//检查当前位置是否合法}voiddfs(intr){if(r==n){cnt++;if(cnt<=3){for(inti=0;i<n;i++){cout<<a[i]+1<<" ";}cout<<endl;}return;}for(inti=0;i<n;i++)//遍历每一行{if(check(r,i))//检查{//放a[r]=i;c[i]=d1[r-i+n]=d2[i+r]=true;dfs(r+1);//回溯c[i]=d1[r-i+n]=d2[i+r]=false;}}}intmain(){cin>>n;dfs(0);cout<<cnt;return0;}
http://www.jsqmd.com/news/1368755/

相关文章:

  • Open WebUI Desktop终极指南:跨平台AI助手从安装到实战
  • 自费实测:大模型润色与专业降AI工具改后AI率下降幅度的实际对比
  • 如何通过罗技鼠标宏实现PUBG精准压枪控制?
  • 终极VRChat社交管理神器:5大功能让你的虚拟社交效率提升300%
  • 2026年8月成都市成华区移动1000M宽带怎么选不踩坑 - 找卡家园
  • Linux主机安全应急响应:Shell自动化检查框架的设计与实践
  • 基于机器学习的字体智能匹配与工程化处理实战
  • Pyfolio完整指南:5步掌握投资组合分析与风险管理的免费工具
  • Kubernetes 生产环境运维与排障实战:部署前别漏掉这些配置
  • 2026年8月郴州市移动1000M宽带我的真实踩坑经历 - 找卡家园
  • 构建企业级Koa应用:中间件选择与架构设计指南
  • Windows系统监控终极指南:Sidebar Diagnostics全面体验与配置技巧
  • 大麦自动抢票系统终极指南:告别手动抢票的烦恼
  • ComfyUI-nunchaku:AI绘画性能优化的4位神经网络推理引擎
  • windows11 j家庭中文版本的ctrl+x,ctrl+c,ctrl+v为何无法剪切,复制粘贴了?-就是ctrl+c还是无法点击,ctrl有用,但是c键没有用。—卸载wps后,即可解决这个问题!!
  • 鹤岗蛙人水下施工|水下打捞落水人员服务哪个好 - 行业推荐官【认证】
  • 3款开源Docker监控仪表盘工具整理合集,可Docker一键部署!
  • ROS2通信接口设计与DDS技术深度解析
  • 本地化AI语音交互方案:TTS、STT与LLM三合一部署与调优指南
  • Amyloid β/A4 Protein Precursor (657-676) ;HHGVVEVDAAVTPEERHLSK
  • 读EMBA能提升哪些核心金融能力全解析
  • 2026年长治非急救长途救护车出租,跨省返乡安全护送全攻略 - 甄选测评官
  • 3分钟快速上手:如何用Python免费获取实时股票行情数据的完整指南
  • 如何安全合规地处理微信数据:从PyWxDump项目移除看开源合规重要性
  • 2026年8月郴州市移动300M宽带我的真实踩坑与实操 - 找卡家园
  • 如何快速掌握大麦网API逆向工程:3大核心步骤完整指南
  • 2026保定莲池区车灯购买渠道大盘点:3家正规合规商家详解 附避坑FAQ - 保定大拇指车灯
  • 如何快速上手Android开源项目宝库:面向开发者的完整实战指南
  • KernelSU WebUI终极指南:让Android模块管理像打开网页一样简单
  • 怎样快速实现大麦网抢票自动化:5个实用技巧解析