- 博客(6)
- 收藏
- 关注
原创 C++DFS算法(洛谷B3625 迷宫寻路)
x2,y2表示当前点的坐标,上一个点判断有没有走出去,如果下一个点没有障碍(a[x2][y2] == 0)即到达下一个点。在主函数中预处理时将如果遇见障碍将a[i][j] = 1表示a[i][j]是障碍不能通行;n,m表示终点坐标,dx,dy表示一个点的下一步的四种走法对x,y的变化。DFS的遍历为A->B->D->E->C->F->G,加上特判如果起点或终点是障碍那么不能到达终点。如果当前点的已经到达终点就可以退出了。DFS全称深度优先搜索,如下图。
2024-08-25 14:23:51
885
1
原创 题解 洛谷P1087 [NOIP2004 普及组] FBI 树
按照题目描述如果只有0输出B,如果只有1输出I(这是大写的i有的像小写的L所以写个提示),如果有1有0输出F。l是左,r是右,当左右不相同时,二分,从左到中间,从中间+1到右边。a2是0的个数,b是1的个数。
2024-08-09 23:17:09
232
原创 题解 洛谷P1478 陶陶摘苹果(升级版)
如果力气、高度都够那就将桃桃总力气(s) - 当前拿苹果需要的力气,并且将计数变量(sum)+1。cmp函数就可以这样写这里的a.l和b.l分别表示a苹果需要的力气与b苹果需要的力气。之后进行从第1个苹果到第n个苹果的循环,判断当前苹果高度是否够,力气是否够。的升级版而已,我们可以定义一个结构体分别存抓当前苹果的力气与高度。
2024-08-08 21:59:27
424
原创 题解 洛谷P1216数字三角形
这道题只需要求出从上到下的一条路径和最大就好了,但是我们可以从下至上的遍历方便一点(不影响结果)我们可以将它放入一个二维数组就行。由 i 与 j 作为下标判断上一个点大还是右上角的点大,谁大就选那条路(即下)。
2024-08-07 22:08:19
444
原创 题解 洛谷P1644跳马问题
(i-2,j+1)(i-1,j+2)样,一共4种走法。图中马的走法是(i+1,j+2)(i+2,j+1),因此我们便可以用递归依次遍历这4种走法。这里函数中的n,m指马的当前坐标。
2024-08-06 20:30:41
800
原创 题解 洛谷P1157组合的输出
这道题其实用STL来做是最简单的algorithm库里面有一个函数叫next_permutation,可以快速生成全排列,那这道题就迎刃而解了。我每先给每一个数初始化为1 1表示不选当前数字 0表示选当前数字。虽然可以用printf解决但是题目中都说可以使用了那肯定就有setw了。题目叫你输出全排列你只需要基本输入输出剩下交给STL就好了!
2024-08-05 22:16:21
711
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人