![](https://img-blog.csdnimg.cn/20210103200800141.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度优先搜索1
基本深搜问题
3sFener
鸽子
展开
-
青藤 #10281 最佳调度问题
直接放图吧: 我们先看这篇代码: #include <bits/stdc++.h> using namespace std; int n, m, mac[10001], Time[10001], ans = INT_MAX / 3, Min = INT_MAX / 3, Now = 0; int SetNow() { int k = 0; for (int i = 1; i <= m; i++) k = max(k, mac[i]); return k; } vo原创 2021-01-08 23:15:32 · 157 阅读 · 0 评论 -
青藤 #10118 质数环
题目描述 一个大小为N(N<=17)的质数环是由1到N共N个自然数组成的一个数环,数环上每两个相邻的数字之和为质数。如下图是一个大小为6的质数环。为了方便描述,规定数环上的第一个数字总是1。若两个质数环,数字排列顺序相同则视为本质相同。现在要求你求出所有本质不同的数环。 输入格式 只有一个数N,表示需求的质数环的大小。 输出格式 每一行描述一个数环,如果有多组解,按照字典序从小到大输出 有了数据范围,打表省时(isprime) #include <iostream> using names原创 2021-01-08 22:49:36 · 143 阅读 · 0 评论 -
青藤 #10280 字符序列
题目描述 从三个元素[A,B,C]的集合中选取N元素生成一个个字符组成的序列,使得没有两个相邻的子序列(子序列长度=2) 输入格式 输入N 输出格式 求出满足条件的N个字符的所有序列的总数。 我们肯定会直接分三种情况填,最后填好时继续判断: #include <iostream> using namespace std; int sum = 0; char abc[4] = { ' ', 'A', 'B', 'C' }; string a; int ds; bool Same(str原创 2021-01-08 22:44:31 · 764 阅读 · 0 评论 -
青藤 #10265 工作分配问题
题目描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为c[i][j]。试设计一个算法,为每一个人都分配一件不同的工作,并使总费用达到最小。 输入格式 输入数据。第一行有1个正整数n (1≤n≤20)。接下来的n行,每行n个数,第i行表示第i个人各项工作费用 输出格式 将计算出的最小总费用输出 直接爆搜,搜到标记,最后对比找到最小解。 #include <bits/stdc++.h> using namespace std; int n, Time[30][30], N原创 2021-01-08 22:28:05 · 213 阅读 · 0 评论 -
青藤 #160 数的划分
题目描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 输入格式 输入n和k. 输出格式 一个整数,即不同的分法数。 先放代码: #include <bits/stdc++.h> using namespace std; int num[10001]; int n, parts, summ; void Dfs(int sum, int lp, int pre) { if (lp == parts) { if (sum == 0)原创 2021-01-08 21:44:10 · 719 阅读 · 0 评论 -
青藤 #801【经典】N皇后问题
题目描述 在一张NN的国际象棋棋盘上,放置N个皇后,使得所有皇后都无法互相直接攻击得到,(皇后可以直接攻击到她所在的横行,数列,斜方向上的棋子),现在输入一个整数N,表示在的NN棋盘上放N个皇后,请输出共有多少种使得所有皇后都无法互相直接攻击得到的方案数。 例如下面这样的摆法,是4皇后的一个解 (1代表有皇后,0代表没有) 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 输入格式 一个整数N 输出格式 能使得在N*N的国际象棋棋盘上放置N个皇后,并且所有皇后都无法互相原创 2021-01-03 20:35:45 · 741 阅读 · 0 评论 -
青藤 #10116 迷宫
题目描述 在N*N的迷宫内,“#”为墙,“.”为路,“s”为起点,“e”为终点,一共4个方向可以走。从左上角((0,0)“s”)位置处走到右下角((n-1,n-1)“e”)位置处,可以走通则输出YES,不可以走则输出NO。 输入格式 输入的第一行为一个整数m,表示迷宫的数量。 其后每个迷宫数据的第一行为一个整数n(n≤16),表示迷宫的边长,接下来的n行每行n个字符,字符之间没有空格分隔。 输出格式 输出有m行,每行对应的迷宫能走,则输出YES,否则输出NO。 思路 简单!直接爆搜,往四个方向,原创 2021-01-03 20:08:21 · 284 阅读 · 0 评论