蓝桥杯
尐镇做题家
这个作者很懒,什么都没留下…
展开
-
蓝桥杯:染色时间
小蓝有一个n行m列的白色棋盘, 棋盘的每一个方格都可以被染成彩色。每个方格有一个染色时间 Tij, 不同方格的染色时间可能不同。如果一个方 格被触发了染色, 这个方格就会在Tij 秒之后变成彩色, 然后将自己上下左右四 个方向相邻的方格触发染色。每个方格只能被触发染色一次, 第一次触发之后 的触发为无效触发。给定每个方格的染色时间, 在时刻 0 触发第一行第一列的方格染色, 请问 多长时间后整个棋盘完成染色。原创 2023-02-27 20:10:32 · 385 阅读 · 0 评论 -
蓝桥杯:聪明的猴子
在一个热带雨林中生存着一群猴子,它们以树上的果子为生。昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上。猴子不会游泳,但跳跃能力比较强,它们仍然可以在露出水面的不同树冠上来回穿梭,以找到喜欢吃的果实。原创 2023-02-23 10:49:17 · 727 阅读 · 1 评论 -
蓝桥杯:赢球票
某机构举办球票大奖赛。获奖选手有机会赢得若干张球票。原创 2023-02-07 16:51:31 · 1877 阅读 · 3 评论 -
蓝桥杯:城邦
小蓝国是一个水上王国, 有 2021 个城邦, 依次编号 1 到 2021。在任意两 个城邦之间, 都有一座桥直接连接。为了庆祝小蓝国的传统节日, 小蓝国政府准备将一部分桥装饰起来。原创 2023-01-18 20:04:23 · 1194 阅读 · 0 评论 -
蓝桥杯:整数分解
将 3 分解成两个正整数的和, 有两种分解方法, 分别是3=1+2和 3=2+1。注意顺序不同算不同的方法。将 5 分解成三个正整数的和, 有 6 种分解方法, 它们是1+1+3 = 1+2+2 =1+3+1 = 2+1+2 = 2+2+1 = 3+1+1。请问, 将 2021 分解成五个正整数的和, 有多少种分解方法?原创 2023-01-16 16:09:21 · 630 阅读 · 0 评论 -
蓝桥杯:卡片 (编程题)
卡片小蓝有k种卡片, 一个班有n位同学, 小蓝给每位同学发了两张卡片, 一 位同学的两张卡片可能是同一种, 也可能是不同种, 两张卡片没有顺序。没有 两位同学的卡片都是一样的。给定n, 请问小蓝的卡片至少有多少种?原创 2023-01-15 14:57:18 · 1971 阅读 · 0 评论 -
蓝桥杯:超级质数
超级质数如果一个质数P的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相 邻的k位数字组成的k位数都是质数, 则P称为超级质数。原创 2023-01-13 15:26:13 · 1832 阅读 · 0 评论 -
蓝桥杯:日期问题
小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。原创 2023-01-03 13:36:19 · 316 阅读 · 1 评论 -
蓝桥杯:作物杂交 (DFS)
DFS原创 2022-12-21 15:44:08 · 2017 阅读 · 5 评论 -
蓝桥杯:数字三角形
动态规划原创 2022-12-16 20:04:22 · 507 阅读 · 0 评论 -
蓝桥杯:走迷宫
蓝桥杯:走迷宫(BFS)。Java原创 2022-06-10 21:12:15 · 479 阅读 · 0 评论 -
蓝桥杯:路径之谜
蓝桥杯:路径之谜(Java) 暴力深搜原创 2022-06-06 12:05:05 · 741 阅读 · 0 评论 -
蓝桥杯:幸运数
蓝桥杯:幸运数(Java) 列表、枚举原创 2022-06-04 11:40:15 · 295 阅读 · 0 评论 -
蓝桥杯:全球变暖
蓝桥杯:全球变暖(DFS) Java原创 2022-06-03 20:36:42 · 565 阅读 · 1 评论 -
蓝桥杯:N皇后
蓝桥杯:N皇后(Java),dfs原创 2022-05-30 20:48:30 · 490 阅读 · 0 评论 -
蓝桥杯:答疑
题目描述有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。 一位同学答疑的过程如下:首先进入办公室,编号为i的同学需要 si毫秒的时间。 然后同学问问题老师解答,编号为i的同学需要 ai毫秒的时间。 答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可以忽略。 最后同学收拾东西离开办公室,需要 ei毫秒的时间。一般需要10 秒、20 秒或30 秒,即 ei取值为10000,200...原创 2022-05-28 21:04:14 · 504 阅读 · 0 评论 -
蓝桥杯:天干地支
题目描述古代中国使用天干地支来记录当前的年份。天干一共有十个,分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。地支一共有十二个,分别为:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、 亥(hài)。将天干和地支连起来,就组成了一个天干地支的年份,例如:甲子。2020年是庚子年。每过原创 2022-04-30 13:59:58 · 447 阅读 · 0 评论 -
蓝桥杯:三羊献瑞(答案不唯一)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你输出“三羊献瑞”所代表的 4 位数字(答案唯一)。题目分析:先看三, 四位数相加最大值也就是19998,所以三只能是1,接下来全部暴力遍历即可。测试用的代码(Java):...原创 2022-04-06 21:31:18 · 1400 阅读 · 2 评论 -
蓝桥杯:颠倒的价牌
目录题目描述题目分析:暴力枚举+列表扩容+字符替换AC代码(Java):答案:PS:按照题意,其实是有两个答案的当亏损的原价是7089时:当亏损原价是9088时:题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。题目分析: (1):因为满足亏损和盈利条件的有很多,所以我们使用两个列表来记录(方便动态扩容)。 (2):然后找出他们相差小的那个(题目要求价格出入不大)。...原创 2022-04-06 13:02:07 · 393 阅读 · 2 评论 -
蓝桥杯:黄金连分数
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。黄金分割数 0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!!言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。比较简单的一种是用连分数:原创 2022-04-05 11:55:24 · 644 阅读 · 0 评论 -
蓝桥杯:高斯日记
目录题目描述题目分析:Java:答案是:题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777 年 4月30 日。在高斯发...原创 2022-04-05 11:01:26 · 923 阅读 · 0 评论 -
蓝桥杯:切面条
目录题目描述题目分析:规律就是An = (An-1)*2-1,A1=2; 或者说是2^n+1。AC代码(Java):题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。一根高筋拉面,中间切一刀,可以得到 2 根面条。如果先对折 1 次,中间切一刀,可以得到 3 根面条。如果连续对折 2 次,中间切一刀,可以得到 5 根面条。那么,连续对折 10 次,中间切一刀,会得到多少面条呢?...原创 2022-04-04 16:41:23 · 598 阅读 · 0 评论 -
蓝桥杯:生日蜡烛
目录题目描述题目分析:AC代码(Java):题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236 根蜡烛。请问,他从多少岁开始过生日party 的?请输出他开始过生日party的年龄数。题目分析: 这种题目无脑暴力枚举就行,不用多花时间想的。 定义一个sum,直接从...原创 2022-04-04 15:22:12 · 464 阅读 · 0 评论 -
蓝桥杯:拉马车
目录题目描述输入描述输入为 2 行,2 个串,分别表示A、B双方初始手里的牌序列。我们约定,输入的串的长度不超过 30。输入输出样例输入输出题目分析: 列表+递归AC代码(Java):题目描述小的时候,你玩过纸牌游戏吗?有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友。其规则简述如下:假设参加游戏的小朋友是 A 和 B ,游戏开始的时候,他们得到的随机的纸牌序列如下:...原创 2022-04-04 12:19:00 · 3016 阅读 · 0 评论 -
蓝桥杯:罗马数字
目录题目描述输入描述输出描述题目分析: 暴力枚举+滑动窗口AC代码(Java):题目描述古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现 0 的概念!罗马数字的表示主要依赖以下几个基本符号:I 1V 5X 10L 50C 100D 500M 1000这里,..原创 2022-04-03 21:56:24 · 360 阅读 · 0 评论 -
蓝桥杯:不同子串
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串 aaaab 有非空子串 a,b,aa,ab,aaa,aab,aaab,一共 7 个。注意在计算时,只算本质不同的串的个数。请问,字符串 0100110001010001 有多少个不同的非空子串?分析:经典的求子串问题,滑动窗口的经典应用。我们只需要用Set对子串进行去重,把字符串的每一个子串都添加到Set里面即可。原创 2022-04-03 16:30:30 · 816 阅读 · 0 评论 -
蓝桥杯:小朋友崇拜圈
题目描述班里 N 个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己)。在一个游戏中,需要小朋友坐一个圈,每个小朋友都有自己最崇拜的小朋友在他的右手边。求满足条件的圈最大多少人?小朋友编号为1,2,3,⋯N。输入描述输入第一行,一个整数 N(3<N<10^5)。接下来一行 N个整数,由空格分开。输出描述要求输出一个整数,表示满足条件的最大圈的人数。样例">输入输出样例示例输入93 4 2 5 3 8 4 6 9输原创 2022-04-03 11:04:19 · 1176 阅读 · 0 评论 -
蓝桥杯:Fibonacci数列与黄金分割
分析:最重点是输入的数据,输入的数据,输入的数据,题目给我们的数据范围是从1到2*10的9次方,这个范围很大,而且斐波那契数列是指数级别的增长速度,很容易超出取值范围,所以我们需要自己测试越界点是哪个数,越界之后的数据进行相除得到的黄金分割率是多少。测试用例如下:public class Main { public static void main(String[] args) { for(int i = 1;i<30;i++){ d..原创 2022-03-29 08:03:58 · 445 阅读 · 0 评论 -
蓝桥杯:买不到的数目
分析:这道题可以用背包来做,但是我做题的时候看到标签有数论,那么肯定是用数论最快。详细的分析和证明过程:关于数论中的互质数的最大不能组合数。公式就是(m-1)*n-m。Java:import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { ...原创 2022-03-28 10:19:11 · 178 阅读 · 0 评论 -
蓝桥杯:次数差
x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)输入描述输入,一个串,表示球队获胜情况(保证串的长度 < 1000)。输出描述要求输出一个数字,表示出现次数最多的字母比出现次数最少的字母多了多少次。样例">输入输出样例示例输入a原创 2022-03-27 19:53:40 · 273 阅读 · 0 评论 -
蓝桥杯:李白打酒
分析:寻找可行解,我们考虑DFS的单条路径。这条路径上有两种可能,一种是你的步数*2,一种是你的步数-1,那么只需要求出有多少种走法能让你步数为0。最后一步肯定是步数-1,也就是题目中的遇到花。所以我们在这条路径上布置5个步数*2,9个步数-1,然后搜索它的可行解。也就是先走完步数*2,然后在走完步数-1,是否满足剩余1步(因为最后一步肯定是步数-1)。不满足的话就回退一步,到还剩一个步数*2,9个步数-1,走1步步数-1,再走一步步数*2,接...原创 2022-03-27 10:45:17 · 1382 阅读 · 0 评论 -
蓝桥杯:排它平方数
分析:先对这个数进行判断,是否这个数每一位都不相同,然后处理平方数。6位数的平方数肯定超过int的取值范围,所以我们需要用到Java的大数,BigInteger,对这个平方数的每一位,查看set重是否有相对应的数,如果没有,那就代表这个数的每一位和平方数的每一位都不相同(平方数允许数字重复出现)。 对数据每一位都进行处理,结果会超时,但是这个是填空题,无关紧要。我们自己跑出来写上答案即可。Java:import java.util.*;import ...原创 2022-03-25 22:15:41 · 768 阅读 · 0 评论 -
蓝桥杯:煤球数目
分析:很容易就看出来,第一层1个,第二层3个,第三层6个,那么第100层就是5050(1+2+3...+100)个。Java:import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { int sum = 0,res=0; for(int i = 1;i&...原创 2022-03-25 15:36:59 · 685 阅读 · 0 评论 -
蓝桥杯:梅森素数
分析:题目应该说明了这个数字是3000位,肯定要使用大数(BigInteger)来运算,先求它的11213次方,然后-1,最后转换成字符串输出最后100位就行。 不熟悉BigInteger的可以看一下:棋盘放麦子Java:import java.math.BigInteger;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(St...原创 2022-03-22 09:20:23 · 462 阅读 · 0 评论 -
蓝桥杯:第39级台阶
分析:很明显的入门DP,不过有点变种,我们先从第0级台阶来看,那么第1级台阶就是array[1],第2个台阶就是array[2],题目要求是每次1or2步,那么很容易得到DP的转移方程:array[i] = array[i-1]+array[i-2]如果不清楚这个转移方程怎么来的,可以看看斐波那契数列。变种在这里:题目要求是先迈左脚,最后一步是右脚,一共要走偶数步,那么初始情况就是在第0个台阶时是0,第一个台阶先迈左脚,所以是1。所以我们按照奇数偶数来区分左脚和右...原创 2022-03-22 08:52:40 · 959 阅读 · 0 评论 -
蓝桥杯:串的处理
分析:题目给的字符串,只包含空格、字母、数字,所以需要只需要对拿到的字符串转换成数组。然后先将下标为0的元素拼接到新的字符串上面(先判断是否为空格,是空格就不添加,是字母就先进行大写转换,同时更新数组下标为0的字母为大写,方便后面遍历)。 之后遍历就可以从下标1开始了,拿到当前下标的数据之后,对上一个数据进行查看,根据处理规则进行拼接。(如第一个是大写字母,第二个是数字,那么就需要添加下划线,在添加数字)Java:import java.util.*;// 1:无需pa...原创 2022-03-19 21:05:53 · 431 阅读 · 0 评论 -
蓝桥杯:世纪末的星期
分析:题目给出的条件是1999年12月31日是星期五,那么2000年1月1日就是星期六,我们以1999年12月31日作为判断点判断xx99年距离1999年12月31日有多少天,然后对这个天数+上5求余7,那么就能得到星期数(+5是因为1999年12月31是星期五)Java:import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static ...原创 2022-03-19 10:28:21 · 571 阅读 · 0 评论 -
蓝桥杯:猜年龄
分析:直接枚举就行,年龄的三次方和年龄的四次方拼接成一个字符串,然后转换成字符数组进行排序(升序),然后在转换成字符串,让转换后的字符串和“0123456789”进行比较,如果相同,那么就输出这个年龄Java:import java.util.*;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { //先确定范围,立方是四..原创 2022-03-19 10:08:54 · 460 阅读 · 0 评论 -
蓝桥杯:旋转
分析:看题目,是拿到r行c列的二维数组,然后对它进行90°的旋转,90°就很巧了,也就是将列变成行,需要注意的就是是从列的最后一位拿到最上面,构成一行。如例子的1 3 5 79 8 7 63 5 9 7旋转后,列变成行,就成了3 9 15 8 39 7 57 6 7通过例子来验证我们的判断,确实是从列的最后一个数开始拿出来,作为行的第一个数,每拿完一列,就进行换行操作。Java:import java.util.Scanner;// 1:无需packag..原创 2022-03-19 09:58:35 · 272 阅读 · 0 评论 -
蓝桥杯:古堡算式
题目分析:ABCDE*某一个数 =EDCBA(ABCDE的反转)我们可以先从10000进行循环,先判断这个数×1-9之间的数是否等于这个数的反转,之后在进行每一位是否重复的判断。Java:import java.util.*;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { //将...原创 2022-03-17 09:48:50 · 282 阅读 · 0 评论