![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
赟家小菜鸟
这个作者很懒,什么都没留下…
展开
-
力扣52.N皇后II
题目: biubiu题意:和力扣51一样,但是要求的结果不一样,力扣51要求把棋盘打印出来,52要求共有多少种情况。根据题解提供的思路,使用位运算,通过使用数字的二进制码来对棋盘进行标记,通过左移右移来确定皇后的位置,二进制码为1表示该位置可以放置皇后。大佬代码:class Solution {public: int totalNQueens(int n) { dfs(n, 0, 0, 0, 0); return this->res; } void dfs(int n, i原创 2021-11-12 12:19:01 · 244 阅读 · 0 评论 -
力扣51.N皇后
题目:biubiu题意:在nXn的棋盘中放n个皇后,要求n个皇后不能相互攻击,在提示中指出,两个皇后不能相同行相同列,并且不能再同一条斜线上,这个题不难,但是要认真,这个题只需要用深搜,进行递归回溯就行,但是在回溯的时候一定要注意一个小细节,你是如何标记不能再同一条斜线上的,我用的一个二维数组,将这个皇后的下方斜线全都标记,但是这就有一种可能,两条斜线会有相交的点,如果你直接标记为1,回溯直接回溯成0,那就有可能会造成一点的其他斜线的忽略,所以标记的时候不要直接标记为1,可以进行++,这样某一个点回溯的时原创 2021-11-11 20:43:00 · 383 阅读 · 0 评论