![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
文章平均质量分 58
YAOSHIAO
这个作者很懒,什么都没留下…
展开
-
AcWing843. n-皇后问题(C++算法)
1、题目:n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数n。输出格式每个解决方案占n行,每行输出一个长度为n的字符串,用来表示完整的棋盘状态。其中”.”表示某一个位置的方格状态为空,”Q”表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。输出方案的顺序任意,只要不重复且没有遗漏即可。数据范围1≤n≤9输原创 2021-01-20 10:56:31 · 415 阅读 · 0 评论 -
AcWing846. 树的重心(C++算法)
#include #include #include #include using namespace std;const int N = 100010, M = N * 2;int n;int h[N], e[M], ne[M], idx;int ans = N;bool st[N];void add(int a, int b){e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;}int dfs(int u){st[u] = true;原创 2020-10-14 22:56:52 · 423 阅读 · 0 评论 -
AcWing 842. 排列数字(C++算法)
AcWing 842. 排列数字1、题目:给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 12、基本思想:递归,按照字典序每排完一组(三级,比如1 2 3)就回溯上一级确定上一级要排的数。为了避免重复用state做位移运算,标记已经有数据原创 2020-09-09 20:14:34 · 374 阅读 · 0 评论