
dfs
多敲代码多喝水
一只普普通通的大学生码农蒻蒟
展开
-
7-6 小字辈 (25 分)
题目详情 - L2-026 小字辈 (25 分) (pintia.cn) 题解:为啥要写这道题嘞?因为找树最大深度并保存可以写在一个dfs里(第二次写我自己还是忘了,写了两个dfs函数),用set集合如果等于最大值那么st.clear(),然后加个判断maxx==cnt,之后maxx就已经是所求的最大值了!!!!! ACCODE: #include<bits/stdc++.h> using namespace std; int n,m; vector<int>son[1000原创 2022-04-19 20:34:31 · 250 阅读 · 0 评论 -
蓝桥杯之平方拆分
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 将 20192019 拆分为若干个两两不同的完全平方数之和,一共有多少种不同的方法? 注意交换顺序视为同一种方法,例如 13^2 + 25^2 + 35^2 = 2019132+252+352=2019 与 13^2 + 35^2 +25^2 = 2019132+352+252=2019 视为同一种方法。 题解:一看就是DFS,但是难点就是怎么两两不同和无序性。 这个题和整数分解为若干项之和有异曲同工之妙,要在函数中设置一个b原创 2022-03-29 16:29:58 · 644 阅读 · 1 评论 -
蓝桥杯之七段码(dfs+并查集)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示,数码管中一共有 77 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, ga,b,c,d,e,f,g。 小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。 例如:bb 发光,其他二极管不发光可以用来表达一种字符。 例如 cc 发光,其他二极管不发光可以用原创 2022-03-29 10:15:13 · 179 阅读 · 0 评论 -
整数分解为若干项之和 (20 分)
将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。 输入格式: 每个输入包含一个测试用例,即正整数N (0<N≤30)。 输出格式: 按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1={n1,n2,⋯}和N2={m1,m2,⋯},若存在i使得n1=m1,⋯,ni=mi,但是ni+1<mi+1,则N1序列必定在N2序列之前输出。每个式子由小到大相加,式原创 2022-03-28 16:13:47 · 238 阅读 · 0 评论 -
L2-038 病毒溯源 (25 分)
L2-038 病毒溯源 (25 分) 病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。 输入格式: 输入在第一行中给出一个正整数N(≤104),即病毒种类的总数。于是我们将所有病毒从 0 到N−1进行编号。 ...原创 2022-03-21 11:29:36 · 139 阅读 · 0 评论 -
第十届蓝桥杯国赛B组试题E: 路径计数
从一个 5 x 5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的路线有多少种? 总长度不超过 12; 最后回到左上角; 路线不自交; 不走出 5 x 5 的方格矩阵范围之外。 如下图所示,ABC 是三种合法的路线。注意 B 和 C 由于方向不同,所以视为不同的路线。 要求输出:这是一道结果填空的题,你只需要算出结果后提交即可。 本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 题解思路:作为填空最后一个比较easy,板子dfs变通一下,注意开始的点..原创 2021-10-24 16:45:38 · 2446 阅读 · 0 评论 -
P1219 [USACO1.5]八皇后
题目描述 一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 题目地址 分析:输入一个数字,输出多少种方案满足题意(就是典型的dfs递归加上回溯)(回溯就是这条路走不通了返回+换路走) #include<bits/stdc++.h> using namespace std; #define inf 13 int n; int flag[inf]; bool up[inf],down[inf]; in原创 2021-09-22 20:55:34 · 125 阅读 · 0 评论 -
P1101 单词方阵(dfs一个方向!!!)
题目描述 给一n \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。 输入格式 第一行输入一个数nn。(7 \le n \le 1007≤n≤100)。 第二行开始输入n \times nn×n的字母矩阵。 输出格式 突出显示单词的n \times nn×n矩阵。 8 输入 qyizhong原创 2021-09-21 16:33:01 · 163 阅读 · 0 评论