蓝桥杯题集
题目链接
acwing蓝桥杯
1.错误票据
题目描述
某涉密单位下发了某种票据,并要在年终全部收回。
每张票据有唯一的ID号。
全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。
因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。
你的任务是通过编程,找出断号的ID和重号的ID。
假设断号不可能发生在最大和最小号。
输入格式
第一行包含整数 ,表示后面共有 行数据。
接下来 行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代表一个ID号。
输出格式
要求程序输出1行,含两个整数 ,用空格分隔。
其中,表示断号ID,表示重号ID。
数据范围
输入样例:
输出样例:
解题思路
模拟
数据较小,用数组下标标记,模拟一遍即可~ 关键在于字符串的处理~
- 时间复杂度:
2.买不到的数目
题目描述
小明开了一家糖果店。
他别出心裁:把水果糖包成4颗一包和7颗一包的两种。
糖果不能拆包卖。
小朋友来买糖的时候,他就用这两种包装来组合。
当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。
大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入格式
两个正整数 ,表示每种包装中糖的颗数。
输出格式
一个正整数,表示最大不能买到的糖数。
数据范围
,
保证数据一定有解。
输入样例:
输出样例:
解题思路
如果 均是正整数且互质,那么由 不能凑出的最大数是 。
- 时间复杂度:
代码
3.剪格子
题目描述
如下图所示, 的格子中填写了一些整数。
我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是 60。
本题的要求就是请你编程判定:对给定的 的格子中的整数,是否可以分割为两个连通的部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。
如果无法分割,则输出 0。
输入格式
第一行包含两个整数 ,表示表格的宽度和高度。
接下来是 行,每行 个正整数,用空格分开。
输出格式
在所有解中,包含左上角的分割区可能包含的最小的格子数目。
如果无法分割,则输出 。
数据范围
,
格子内的数均在1到10000之间。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
解题思路
dfs,剪枝,字符串hash,并查集
- 时间复杂度:
代码
4.大臣的旅费
题目描述
很久以前,T王国空前繁荣。
为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。
为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。
同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。
J是T国重要大臣,他巡查于各大城市之间,体察民情。
所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。
他有一个钱袋,用于存放往来城市间的路费。
聪明的J发现,如果不在某个城市停下来修整,在连续行进过程中,他所花的路费与他已走过的距离有关,在走第x千米到第x+1千米这一千米中(x是整数),他花费的路费是x+10这么多。也就是说走1千米花费11,走2千米要花费23。
J大臣想知道:他从某一个城市出发,中间不休息,到达另一个城市,所有可能花费的路费中最多是多少呢?
输入格式
输入的第一行包含一个整数 ,表示包括首都在内的T王国的城市数。
城市从 开始依次编号, 号城市为首都。
接下来 行,描述T国的高速路(T国的高速路一定是 条)。
每行三个整数 ,表示城市 和城市 之间有一条双向高速路,长度为 千米。
输出格式
输出一个整数,表示大臣J最多花费的路费是多少。
数据范围
输入样例:
输出样例:
树的直径
代码
5.翻硬币
题目描述
小明正在玩一个“翻硬币”的游戏。
桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。
比如,可能情形是:**oo***oooo
如果同时翻转左边的两个硬币,则变为:oooo***oooo
现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?
我们约定:把翻动相邻的两个硬币叫做一步操作。
输入格式
两行等长的字符串,分别表示初始状态和要达到的目标状态。
输出格式
一个整数,表示最小操作步数
数据范围
输入字符串的长度均不超过100。
数据保证答案一定有解。
输入样例1:
输出样例1:
输入样例2:
输出样例2:
解题思路
递推
对每个数进行翻转是独立的,相互之间不会影响,且每个数的翻转不会超过1次,从第一个数是否翻转递推即可~
- 时间复杂度:
代码
6.带分数
题目描述
可以表示为带分数的形式:
还可以表示为:
注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。
类似这样的带分数, 有 种表示法。
输入格式
一个正整数。
输出格式
输出输入数字用数码 1∼9 不重复不遗漏地组成带分数表示的全部种数。
数据范围
输入样例1:
输出样例1:
输入样例2:
输出样例2:
解题思路
代码
7.连号区间数
小明这些天一直在思考这样一个奇怪而有趣的问题:
在 1∼N 的某个排列中有多少个连号区间呢?
这里所说的连号区间的定义是:
如果区间 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 的“连续”数列,则称这个区间连号区间。
当 很小的时候,小明可以很快地算出答案,但是当 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。
输入格式
第一行是一个正整数 ,表示排列的规模。
第二行是 个不同的数字 ,表示这 个数字的某一排列。
输出格式
输出一个整数,表示不同连号区间的数目。
数据范围
,
输入样例1:
输出样例1:
输入样例2:
输出样例2:
样例解释
第一个用例中,有 7 个连号区间分别是:
第二个用例中,有 9 个连号区间分别是:
解题思路
注意到这是一个排列,没有重复值,则一段连续区间的长度为【最大值-最小值+1】,据此便可解题~
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/15408026.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!