![](https://img-blog.csdnimg.cn/20200206222916397.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
蓝桥杯
蓝桥杯刷题记录
大风车滴呀滴溜溜地转
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
展开
-
2023年第十四届蓝桥杯 - 省赛 - C/C++大学A组 - B.有奖问答
一共 30 道题,得分情况为 0 ~ 100 分。创建一个 30 行 100 列的 dp 数组,dp[i][j] 表示做完第 i 题,得分为 j 的方案数。原创 2024-04-02 16:56:20 · 628 阅读 · 0 评论 -
2023年第十四届蓝桥杯 - 省赛 - C/C++大学A组 - A.幸运数
直接暴力循环。原创 2024-04-02 15:41:33 · 244 阅读 · 0 评论 -
2023年第十四届蓝桥杯 - 省赛 - Python研究生组 - A.工作时长
直接通过 datetime 模块加载时间字符串进行格式化,然后对时间列表进行排序,最后两两计算时间差。原创 2024-04-01 23:40:35 · 545 阅读 · 1 评论 -
【蓝桥杯】试题 算法训练 数字游戏
题目链接Ideas首先想到的最暴力的方法就是全排列,枚举所有可能的排列情况,然后判断是否符合要求。关于最后的累加和,经过分析其实可以发现结果等于各个元素乘以某个系数再相加的结果,而系数就是组合数comb(n - 1, i) * item[i]。不过这样只能过90%的测试样例,所以还需要进行剪枝。可以发现,系数是可以提前计算出来的,并不需要每次check的时候再计算一遍,所以可以输入n之后直接就计算出来系数;check的时候如果判断当前累加和已经大于sum了,那么后面就没必要继续计算了。C原创 2022-04-26 14:01:36 · 3302 阅读 · 0 评论 -
【蓝桥杯】试题 算法训练 拿金币
试题 算法训练 拿金币Ideas一道经典的动态规划的题目。我们要求的是如何从最左上角走才能拿到最多的金币,并没有规定目的地,但是只能从一个格子走到它右边或下边的格子里,因此可以推出,最终肯定是在最下面一层的。我们可以从下往上推,从最下面一层开始,逐层向上计算,得到最上面一层能够得到拿到的金币数。CodePythonif __name__ == '__main__': n = int(input()) dp = [[0] * (n + 1) for _ in range(n + 1)] f原创 2022-04-19 14:43:19 · 243 阅读 · 1 评论 -
【蓝桥杯】试题 算法训练 印章
资源限制内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。 输入格式一行两个正整数n和m输出格式一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定1≤n,m≤20题目链接Ideas首先要确定题目类型,虽然试题列表里面已经说明了这是一道DP的题目,但是正式比赛的时候可不原创 2022-04-15 19:32:31 · 817 阅读 · 1 评论 -
2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑
题目链接Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 CodePythonif __name__ == '__main__': n = int(input()) student_time_list = [] for _ in range(n): student_time_list.append(list原创 2022-03-21 18:44:15 · 1310 阅读 · 0 评论 -
2020年第十一届蓝桥杯 - 国赛 - Python大学组 - G.重复字符串
在线评测Ideas首先把字符串划分成 k 份,然后每份逐位对比,计算出现次数最多的字母,然后用 k 减去出现次数就是要修改的位置。CodePythonfrom collections import Counterif __name__ == '__main__': ans = 0 k = int(input()) string = input() n = len(string) if n < k: print(-1) el原创 2022-03-20 23:30:55 · 526 阅读 · 0 评论 -
2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数
在线评测Ideas对于一个纯循环小数,假设循环节为l,则小数为0.llll…,转换为分数就是 l / (10 ** n - 1),其中n为循环节L的长度。也就是说,我们要找到一个真分数 x / y,等于 l / (10 ** n - 1),即x = l,y = 10 ** n - 1。对于混合循环小数,可以把循环体和非循环体拆开,即设循环体为l,非循环体为k,则小数为0.klll…,我们可以把它拆成两部分:0.k + 0.l / (10 ** m),其中 m 为非循环体 k 的长度。转换成分数就是原创 2022-03-19 15:34:22 · 1155 阅读 · 0 评论 -
2020年第十一届蓝桥杯 - 国赛 - Java大学C组 - F.天干地支
在线评测Ideas直接以2020年为起始年份,定位天干地支的索引,然后根据输入年份计算一个差值,用2020年天干地支的索引加上差值然后对天干地支的长度取个余就可以了。CodePythonif __name__ == '__main__': tian_gan = ["jia", "yi", "bing", "ding", "wu", "ji", "geng", "xin", "ren", "gui"] di_zhi = ["zi", "chou", "yin", "mao", "chen", "原创 2022-03-18 22:38:09 · 556 阅读 · 0 评论 -
2021年第十二届蓝桥杯 - 省赛 - C/C++大学C组 - D.相乘
Ideas对于Python来说,都没有溢出,直接乘就完了。CodePythonif __name__ == '__main__': for num in range(1, 1000000008): val = (num * 2021) % 1000000007 if val == 999999999: print(num)Answer: 17812964原创 2022-03-16 20:12:47 · 1775 阅读 · 1 评论 -
2021年第十二届蓝桥杯 - 省赛 - C/C++大学A组 - D.路径
Ideas其实没啥内容,就是一个最短路径问题。CodePythonimport heapqdef gcd(a, b): return a if b == 0 else gcd(b, a % b)def lcm(a, b): return a * b / gcd(a, b)def Dijkstra(g, node): n, queue, visit = len(g), list(), set() heapq.heappush(queue, (0, node)) dista.原创 2022-03-14 14:20:22 · 1599 阅读 · 0 评论 -
2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - G.螺旋折线
螺旋折线如图p1.png所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y对于40%的数据,-1000 <= X, Y <= 1000对于70%的数据,-100000 <= X, Y <= 100000对于100%的数据, -1000000原创 2022-03-05 22:32:54 · 421 阅读 · 0 评论 -
2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - F.递增三元组
递增三元组给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1 <= i, j, k <= NAi < Bj < Ck【输入格式】第一行包含一个整数N。第二行包含N个整数A1, A2, … AN。第三行包含N个整数B1, B2, … BN。第四行包含N个整数C1, C2, … CN。对于30%的数据,1 <= N <原创 2022-03-04 20:21:20 · 248 阅读 · 0 评论 -
2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - A. 分数
标题:分数1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。类似:3/2当然,这只是加了前2项而已。分子分母要求互质。注意:需要提交的是已经约分过的分数,中间任何位置不能含有空格。请不要填写任何多余的文字或符号。代码#include <iostream>#include <...原创 2019-03-25 20:52:27 · 457 阅读 · 0 评论 -
2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
航班时间【问题背景】小h前往美国参加了蓝桥杯国际赛。小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。小h对超音速飞行感到十分恐惧。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有12小时时差,故飞机总共需要14小时的飞行时间。不久后小h的女朋友去中东交换。小h并不知道中东与北京的时差。但是小h得到了女朋友来回航班的起降时间。小h想知道女朋友的航班飞行时间是多少。【问题描述】对于一个可能跨时区的航班,给定来回程的起降时间。假设原创 2022-02-27 14:42:34 · 555 阅读 · 0 评论 -
征战蓝桥 —— 2016年第七届 —— C/C++A组第7题——剪邮票
题目如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。提示此题和13年剪格子有相似之处,但是那个题的...原创 2019-03-15 21:35:44 · 514 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - I. 密码脱落
题目X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大于10...原创 2019-03-15 21:36:03 · 363 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - F. 寒假作业
题目现在小学的数学题目也不是那么好玩的。看看这个寒假作业:□ + □ = □□ - □ = □□ × □ = □□ ÷ □ = □(如果显示不出来,可以参见【图7-1.jpg】)每个方块代表1~13中的某一个数字,但不能重复。比如:6 + 7 = 139 - 8 = 13 * 4 = 1210 / 2 = 5以及:7 + 6 = 139 - 8 = 13...原创 2019-03-15 21:35:38 · 441 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 国赛 - C/C++大学A组 - D. 穿越雷区
标题:穿越雷区X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -- + - - +- + + + -+ - + - +B + ...原创 2019-05-23 17:28:17 · 824 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - Java大学B组 - A. 三角形面积
三角形面积如【图1】所示。图中的所有小方格面积都是1。那么,图中的三角形面积应该是多少呢?请填写三角形的面积。不要填写任何多余内容或说明性文字。Ideas这道题跟2018年第九届蓝桥杯 - 国赛 - C/C++大学A组 - A. 三角形面积基本类似,可以直接建立一个坐标系,得到三点坐标,然后套公式就可以了。Codeif __name__ == '__main__': (x1, y1), (x2, y2), (x3, y3) = (0, 8), (8, 6), (4, 0) print(0原创 2022-02-20 11:49:28 · 410 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - B. 生日蜡烛
生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。Ideas两层循环解决问题。外层循环定义一个start变量用来遍历他开始过生日的年龄数,然后内层循环定义一个year变量用来统计他从start年龄开始过生日一共吹熄的蜡烛数。如果内层循环在某次统计中值正好等于236,说明找原创 2022-02-20 11:42:03 · 512 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - A. 网友年龄
题目某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”请你计算:网友的年龄一共有多少种可能情况?提示:30岁就是其中一种可能哦.请填写表示可能情况的种数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。代码#include &lt;cstdio&gt;#include ...原创 2019-03-15 21:34:58 · 445 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 国赛 - C/C++大学A组 - A. 四阶幻方
标题:四阶幻方把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。四阶幻方可能有很多方案。如果固定左上角为1,请计算一共有多少种方案。比如:1 2 15 1612 14 3 513 7 10 48 11 6 9以及:1 12 13 82 14 7 1115 3 10 616 5 4 9就可以算...原创 2019-05-23 15:27:47 · 1019 阅读 · 3 评论 -
2015年第六届蓝桥杯 - 省赛 - Java大学B组 - B. 立方变自身
立方变自身观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3 = 18^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17…请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。Ideas这道题要求的是符合条件的正整数,但是并没有给定上界,所以不可能是无限的。如果是考场上,可以先用几个上界试一下,看看结果有没有变化,没有变化的话基本上就能确定最终的结果了。CodePython.原创 2022-02-18 09:09:44 · 5136 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - C.奇妙的数字
奇妙的数字小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?请填写该数字,不要填写任何多余的内容。代码#include <iostream>#include <string>#include <sstream>#include <set>using namespace s...原创 2019-03-07 18:20:41 · 425 阅读 · 0 评论 -
2014年第五届蓝桥杯 - 省赛 - C/C++大学A组 - G. 蚂蚁感冒
题目长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】第一行输入一个整数n (1 &amp;amp;lt; n &amp;amp;lt; 50)...原创 2019-03-16 23:31:49 · 375 阅读 · 0 评论 -
2017年第八届蓝桥杯 - 省赛 - C/C++大学A组 - B. 跳蚱蜢
题目如图所示:有9只盘子,排成1个圆圈。其中8只盘子内装着8只蚱蜢,有一个是空盘。我们把这些蚱蜢顺时针编号为 1~8每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,…),至少要经过多少次跳跃?注意:要求提交的是一个整数,请不要填写任何多余内...原创 2019-03-18 20:42:07 · 453 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 国赛 - C/C++大学B组 - D. 机器人塔
机器人塔X星球的机器人表演拉拉队有两种服装,A和B。他们这次表演的是搭机器人塔。类似: A B B A B A A A B B B B B A BA B A B B A队内的组塔规则是:A 只能站在 AA 或 BB 的肩上。B 只能站在 AB 或 BA 的肩上。你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔。输入一行两个...原创 2019-05-20 09:45:59 · 653 阅读 · 0 评论 -
2017年第八届蓝桥杯 - 省赛 - C/C++大学A组 - C. 魔方状态
魔方状态二阶魔方就是只有2层的魔方,只由8个小块组成。小明很淘气,他只喜欢3种颜色,所有把家里的二阶魔方重新涂了颜色,如下:前面:橙色右面:绿色上面:黄色左面:绿色下面:橙色后面:黄色请你计算一下,这样的魔方被打乱后,一共有多少种不同的状态。如果两个状态经过魔方的整体旋转后,各个面的颜色都一致,则认为是同一状态。请提交表示状态数的整数,不要填写任何多余内容或说明文字。Ideas这道题相对来说比较麻烦,而且比赛的时候放在第三题,有点恐怖,建议如果比赛的时候遇到这种填空题,20分钟解原创 2022-02-08 14:04:25 · 1940 阅读 · 2 评论 -
LeetCode Algorithm 102. 二叉树的层序遍历
102. 二叉树的层序遍历Ideas二叉树的层序遍历类似于图的广度优先搜索,都是要借助队列这种数据结构来实现。首先将根节点添加到队列中,然后就是套BFS的模板,稍微改动一下。只要队列不为空就循环:当前队列大小即为当前层元素个数;遍历当前层元素,依次取出队首元素,添加到返回结果中;将该元素的左右孩子节点添加到队列中CodePythonfrom typing import Listfrom collections import deque# Definition for a bi原创 2022-02-07 15:23:08 · 456 阅读 · 1 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - G. 手链样式
手链样式小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。他想用它们串成一圈作为手链,送给女朋友。现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?请你提交该整数。不要填写任何多余的内容或说明性的文字。代码#include <iostream>#include <string>#include <algorithm>#in...原创 2019-03-07 19:26:18 · 674 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 国赛 - Java大学C组 - A. 平方末尾
平方末尾能够表示为某个整数的平方的数字称为“平方数”比如,25,64虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。因为平方数的末位只可能是:[0, 1, 4, 5, 6, 9] 这6个数字中的某个。所以,4325435332必然不是平方数。如果给你一个2位或2位以上的数字,你能根据末位的两位来断定它不是平方数吗?请计算一下,一个2位以上的平方数的最后两位有多少种可能...原创 2019-05-13 08:53:04 · 789 阅读 · 0 评论 -
2018年第九届蓝桥杯 - 国赛 - C/C++大学A组 - A. 三角形面积
标题:三角形面积已知三角形三个顶点在直角坐标系下的坐标分别为:(2.3, 2.5)(6.4, 3.1)(5.1, 7.2)求该三角形的面积。注意,要提交的是一个小数形式表示的浮点数。要求精确到小数后3位,如不足3位,需要补零。Code/* ^....0 ^...原创 2019-05-18 14:50:34 · 613 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - I. 垒骰子
题目赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。atm想计算一下有多少种不同的可能的垒骰子方式。两种垒骰子方式相同...原创 2019-03-16 23:45:15 · 422 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学B组 - G. 牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。Ideas这问题就变成了 1~13 种点数的牌,每种 4 张,从种抽取 13 张,问有多少种可能。首先对于这种要找到所有情况的题目,一般都是通过 DFS 去搜索全局空间。我们可以把 13 种牌看原创 2022-02-03 09:52:41 · 909 阅读 · 0 评论 -
2016年第七届蓝桥杯 - 国赛 - Java大学C组 - I. 路径之谜
路径之谜小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必走完所有的方格。如果只给出...原创 2019-05-18 14:22:50 · 726 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - B. 星系炸弹
星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19请严...原创 2019-03-08 08:36:52 · 345 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - H. 饮料换购
饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序...原创 2019-03-07 19:31:57 · 561 阅读 · 0 评论 -
2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - A. 方程整数解
方程整数解方程: a^2 + b^2 + c^2 = 1000(或参见【图1.jpg】)这个方程有正整数解吗?有:a,b,c=6,8,30 就是一组解。你能算出另一组合适的解吗?请填写该解中最小的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。代码#include <iostream>using namespace std;int main...原创 2019-03-07 20:04:39 · 660 阅读 · 0 评论