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

算法 N皇后问题-(递归回溯)

牛客网 BM59.

解题思路:

行列、斜叉不在一条直线上。

命令行为 row, 列为col, row 从0开始递归直到最后一行,列从0开始遍历,直到最后一列,中间每一步记录或清除位置状态,状态分为 m1[col] = 1, m2[row-col] = 1, m3[row+col] = 1。当row递归到最后一行时,即获取一个符合要求的答案。

代码:

package main
// import "fmt"/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param n int整型 the n* @return int整型
*/
var m1 = map[int]int{}
var m2 = map[int]int{}
var m3 = map[int]int{}var res = 0func calc(row, n int) {if row == n {res++return}for col := 0; col < n; col++ {if m1[col] == 1 || m2[row-col] == 1 || m3[row+col] == 1 {continue}m1[col] = 1m2[row-col] = 1m3[row+col] = 1calc(row+1, n)m1[col] = 0m2[row-col] = 0m3[row+col] = 0}
}func Nqueen( n int ) int {// write code herecalc(0, n)return res
}

http://www.lryc.cn/news/172516.html

相关文章:

  • 个人博客搭建记录
  • 下载vscode 更新
  • std::async简单使用
  • 【编程实践】在VS studio中配置Eigen库
  • SQLite 3.43 发布,性能大提升!
  • 数据中心液冷服务器详情说明
  • Openresty(二十二)ngx.balance和balance_by_lua终结篇
  • Docker注入环境变量且设置多个环境变量
  • 代码随想录二刷Day 15
  • Node.js环境安装与服务设置,结合内网穿透随时随地公网访问!
  • 八、数据类型转换
  • 2023数学建模研赛华为杯E题思路-出血性脑卒中临床智能诊疗建模
  • Windows Server 2012 R2系统远程桌面的数字证书算法SHA1升级到SHA256
  • windows进程管理相关命令
  • Flutter快速入门学习(一)
  • 网站排名下降的原因和解决方法(SEO优化失误可能导致网站排名下降)
  • 爱看小说手机网源码全站带数据带自动采集程序/ThinkPHP内核小说网站源码+书库数据库带自动采集
  • 《Java8实战》
  • 【初阶数据结构】——堆排序和TopK问题
  • LLM - 大模型速递 InternLM-20B 快速入门
  • 探索AIGC人工智能(Midjourney篇)(四)
  • uni-app:跨页面传递数组
  • element 表格拖拽保存插件
  • 通过内网穿透,在Windows 10系统下搭建个人《我的世界》服务器公网联机
  • C++11异步任务轮子实现(header-only)
  • 2023华为杯研究生数学建模竞赛选题建议+初步分析
  • 多线程并发或线程安全问题如何解决
  • 深度学习——线性神经网络一
  • 利用大模型知识图谱技术,告别繁重文案,实现非结构化数据高效管理
  • Java抽象类和普通类区别、 数组跟List的区别