dfs
一个有思想的逗号
这个作者很懒,什么都没留下…
展开
-
找出n个自然数(1,2,3,……,n)中取r个数的组合。
题目:找出n个自然数(1,2,3,……,n)中取r个数的组合。原创 2024-10-08 08:30:35 · 334 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-934 序列
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。王神想要知道n的所有排列的逆序对数和,但是他觉得太水了,于是让你算。一行即答案,对1007取模。原创 2024-05-26 11:58:00 · 264 阅读 · 0 评论 -
dfs全排列
【代码】dfs全排列。原创 2024-05-26 11:22:13 · 543 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-996 车的放置
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两个车都不能相互攻击,有多少中放法(车与车之间是没有差别的)【样例解释】一个车都不放为1种,放置一个车有4种,放置2个车有2种。题目要求的全部情况:0个车,1个车……,n个车,将这些相加即最终答案。思路:在n*n的棋盘中,放置的车所在的行和列都不能放车。个车,有n*n个位置可以放。要在n*n的棋盘中放置。原创 2024-02-24 10:33:32 · 287 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-954 逗志芃的暴走
因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点。由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了,所以现在被妹子搞成暴走状态了。但是妹子永远是上帝,所以逗志芃只能带妹子出去玩,不过为了节约时间,他希望找到一条花费时间最少的一次性游览线路。接下来是一个数m,表示逗志芃妹子要去去的景点数目。接下来是m个数,就是妹子要去的景点编号。第一行1个数n,表示逗志芃所在的城市有多少个景点,接下来是一个n*n的矩阵。a(i,j)表示i号景点到j号景点的路上花费的时间是多少。原创 2024-04-13 07:51:27 · 235 阅读 · 0 评论 -
一维坐标的移动(bfs)
在一个长度为n的坐标轴上,小S想从A点移动B点。他的移动规则如下:向前一步,坐标增加1。向后一步,坐标减少1。跳跃一步,使得坐标乘2。小S不能移动到坐标小于0或大于n的位置。小S想知道从A点移动到B点的最少步数是多少,你能帮他计算出来么?输入格式第一行输入三个整数n,A,B,分别代表坐标轴长度,起始点坐标,终点坐标。输出格式输出一个整数占一行,代表小S要走的最少步数。样例输入10 2 7样例输出3。原创 2024-03-18 21:41:49 · 349 阅读 · 0 评论 -
迷宫问题(dfs、bfs)
问题描述:迷宫由n行m列的单元格组成(n,m都小于等于50)。每个单元格要么是空地,要么是障碍物。请你找到一条从起点到终点的最短路径长度。先输入n、m,表示n行m列的迷宫,然后输入n*m个数, 以0表示空地,1表示障碍物。最后输入起点和终点。输入5 40 0 1 00 0 0 00 0 1 00 1 0 00 0 0 11 1 4 3输出7。原创 2024-03-18 09:45:11 · 546 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-987 强力党逗志芃
逗志芃励志要成为强力党,所以他将身上所以的技能点都洗掉了重新学技能。现在我们可以了解到,每个技能都有一个前提技能,只有学完了前提技能才能学习当前的技能(有一个最根本的技能不需要前提技能)。学习每个技能要消耗一个技能点,然后可以获得这个技能的威力值。之后的n-1行,每行两个数x,y,表示y技能的前提技能是x,也就是说先学第x个技能才能学弟y个技能。第一行两个数n,m表示有n个技能和m个技能点。第二行有n个数,第i个数表示第i个技能的威力值。0<n,m<=200, 技能的威力值不超过200。原创 2024-03-05 13:44:39 · 193 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-994 最大分解
给出一个正整数n,求一个和最大的序列a0,a1,a2,……,ap,满足n=a0>a1>a2>……>ap且ai+1是ai的约数,输出a1+a2+内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。一个正整数,表示最大的序列和,即a1+a2+。输入仅一行,包含一个正整数n。原创 2024-03-01 13:34:43 · 428 阅读 · 0 评论 -
蓝桥杯练习系统(算法训练)ALGO-995 24点
这里取a[i],a[j]这两个数进行运算,运算后这两个数就没用了,所以a[j]用来存运算结果,a[i]用来存a[n-1],因为dfs(a,n-1)中相当于只取了前n-1个数,为了让第n个数a[n-1]也参与运算,所以将a[n-1]存入a[i]。先取两个数进行运算,将运算后的结果看成是一个数,所以现在相当于有3个数进行24点。再在这3个数中取两个数进行运算,运算后相当于只有2个数,将这2个数进行24点,得到1个数,即结果a[0]。因为dfs(a,n-1),所以其中最后一个数取不到,但是已经将它存到了最前面。原创 2024-02-29 21:10:20 · 764 阅读 · 0 评论 -
n皇后问题
思路:一行一行地放置皇后,dfs(1)表示第1行放置皇后的位置,a[i]表示第i行的皇后放在第a[i]列。for循环遍历每个位置(列),满足check条件后,即可放置。check函数:判断第row行的皇后能不能放在col位置上。能不能放,需要通过前row行的皇后们来判断。题目:将n个皇后放置在一个n*n的棋盘上,使皇后彼此之间不相互攻击。已知在同一行、同一列、同一对角线上,皇后之间都会相互攻击。原创 2024-02-29 16:26:28 · 204 阅读 · 0 评论