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

回溯法-N皇后

1.非递归方法

#define N 4 int q[N + 1]; //检查当前皇后与前i个有没有冲突 int check(int j) { int i; for (i = 1; i < j; i++) { //不在一个行 不在一个斜线上 至于不在一行,for循环条局的i<j已经有的判断 if (q[i]==q[j] || abs(i-j) == abs(q[i]-q[j])) { return 0; } } return 1; } void queen() { int i; //初始 for (i = 1; i <= N; i++) { q[i] = 0; } //方案数 int answer = 0, j = 1; while (j >= 1) { q[j] = q[j] + 1;//踏入第一行第一个各自,上道,从1开始 while (q[j] <= N && !check(j))//不越绝+检查有问题 { //则代表当前q[j] = q[j] + 1的上道有问题,则继续+1 q[j] = q[j] + 1; } //出来代表当前皇后与前面的N皇是不冲突的,但是越界需要判断一下 if (q[j] <= N) { if (j == N)//代表当前走到最后一行,即有一种方案了 { answer = answer + 1; printf("方案%d\n", answer); for (i = 1; i <= N; i++) { printf("%d ", q[i]); } printf("\n"); } else { j = j + 1;//如果不是j == N,代表下面还有行需要走,这里的j不是代指列,是当前走到的行 } } else { q[j] = 0;//回溯回去,当前行的j皇走的失败路线要重置 j = j - 1;//回溯上去第j-1个皇后 } } } int main() { queen(); return 0; }

2.递归求解方法

void queen(int j)//当前行的的摆放皇后 { int i; for (i = 1; i <= N; i++) { q[j] = i; if (check(j)) { if (j == N) { answer = answer + 1; printf("方案%d\n", answer); for (i = 1; i <= N; i++) { printf("%d ", q[i]); } printf("\n"); } else { queen(j + 1); } } } }
http://www.jsqmd.com/news/940752/

相关文章:

  • 云服务智能监控实战:从数据采集到AI辅助根因分析
  • 基于STM32F407的单通道便携示波器源码:支持继电器程控增益、LCD实时波形显示与串口数据导出
  • ESP32-S3 + PCA9685 驱动16路舵机:从Arduino库移植到ESP-IDF的完整实战(附避坑指南)
  • 苏州大学与阿里云计算联手:用“技能手册“让AI情感陪护员越练越强
  • 从STM32转GD32:手把手教你用GD32E230C8T6点亮第一个LED(附完整代码)
  • 拒绝安全审计背锅:GitHub Actions 自动化漏洞排查与合规修复实战
  • 从零到物联网:用ESP32-C3和PlatformIO搭建你的第一个无线传感节点(含环境配置避坑指南)
  • 批量查公司员工LinkedIn公开资料的Python工具包
  • 从Stable Diffusion到Sora:一文读懂DiT中的adaLN-Zero如何成为扩散模型的新宠
  • 大规模多项式系统数值解认证:基于BSP树与迭代器的低内存框架
  • 周口市2026年黄金回收白银回收铂金回收门店指南 五家诚信店铺排行榜+联系方式电话推荐 - 大熊猫898989
  • 第一份合同里的“提前解约条款”:留学生如何规避高额违约金雷区「蒸汽求职分享」
  • 三亚全屋定制公司服务流程与核心环节解析
  • 别再傻傻输验证码了!用BurpSuite Intruder模块,5分钟搞定登录表单的批量测试
  • 别再让RAG乱翻资料库了!手把手教你用Self-RAG让大模型学会‘自我反思’
  • 别再只会画流程图了!用Visio画电路图和波形图的保姆级教程(附元件库)
  • 国标GB28181视频监控联网平台EasyGBS打破AI落地“最后一公里”
  • 敬老院人员定位系统:高精度技术架构赋能智慧养老安防升级
  • 构建上下文感知搜索系统:从原理到实践,提升信息检索效率
  • 告别波形畸变:用STM32F4高级定时器的Repetition Counter功能优化SPWM生成
  • Typora写作界面美化套装:30+款实测可用深色/浅色/个性CSS主题合集
  • 数据库安全前沿:从零信任到同态加密的攻防演进与实战部署
  • 珠海市2026年黄金回收白银回收铂金回收门店指南 五家诚信店铺排行榜+联系方式电话推荐 - 大熊猫898989
  • 阴阳师自动化脚本终极指南:如何5分钟解放双手轻松游戏
  • Anthropic 融资 650 亿美元估值超 OpenAI,专注 coding 策略能否持续领先?
  • 别再写“fix bug”了!团队 Git 提交规范,从入门到自动强制执行
  • [SWPUCTF 2021 新生赛]babyrce
  • 别再为PDF识别发愁了!LayoutLMv3-base-chinese模型推理保姆级教程,从环境到结果一键搞定
  • 曲面图像传感器:突破场曲瓶颈,重塑相机光学架构的未来
  • 告别SSH命令行:用NoMachine为你的Jetson Orin打造图形化远程开发工作站