博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode N-Queens II
阅读量:5079 次
发布时间:2019-06-12

本文共 942 字,大约阅读时间需要 3 分钟。

class Solution {private:    int queen_num;    int total;public:    int totalNQueens(int n) {        queen_num = n;        total = 0;        vector
h(n, false); vector
v(n, false); vector
lx(n * 2 + 1, false); vector
rx(n * 2 + 1, false); dfs(0, h, v, lx, rx); return total; } void dfs(int level, vector
&h, vector
&v, vector
&lx, vector
&rx) { if (level == queen_num) { total++; return; } int row = level; int col = 0; while (col < queen_num) { if (!h[row] && !v[col] && !lx[row + col] && !rx[row + queen_num - col - 1]) { h[row] = v[col] = lx[row + col] = rx[row + queen_num - col - 1] = true; dfs(level + 1, h, v, lx, rx); h[row] = v[col] = lx[row + col] = rx[row + queen_num - col - 1] = false; } col++; } }};

或许可以用状态压缩?

转载于:https://www.cnblogs.com/lailailai/p/3851910.html

你可能感兴趣的文章
HDU 4635 Strongly connected
查看>>
ASP.NET/C#获取文章中图片的地址
查看>>
Spring MVC 入门(二)
查看>>
格式化输出数字和时间
查看>>
页面中公用的全选按钮,单选按钮组件的编写
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
BZOJ 1047 HAOI2007 理想的正方形 单调队列
查看>>
各种语言推断是否是手机设备
查看>>
这个看起来有点简单!--------实验吧
查看>>
PHP count down
查看>>
JVM参数调优:Eclipse启动实践
查看>>
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>
strlen函数
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
python标准库——queue模块 的queue类(单向队列)
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
深入理解JVM读书笔记--字节码执行引擎
查看>>