2019蓝桥杯B组C++真题题解
目录
A:组队
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。
每位球员担任 11 号位至 55 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
直接算算就是了,
B:年号字串
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对应 28,AZ 对应 52,LQ 对应 329。
请问 2019 对应的字符串是什么?
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
26进制转换而已,手算一下。
C:数列求和
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
给定数列1,1,1,3,5,9,17,⋯,从第 4 项开始,每项都是前 3 项的和。
求第 20190324 项的最后 4 位数字。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
斐波那契数会吧,然后取模会吧,然后答案就出来了。
D:数的分解
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
挨个遍历就行了
E:迷宫
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。
迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。
对于上面的迷宫,从入口开始,可以按 DRRURRDDDR 的顺序通过迷宫, 一共 10步。其中 D、U、L、R分别表示向下、向上、向左、向右走。 对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。
请注意在字典序中 D<L<R<U。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
最短路径用bfs,不过这个规定字典序最先,搜索的时候按照字典序小到大搜索就好了;
F:特别数的和
题目描述
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 n 中,所有这样的数的和是多少?
输入描述
输入一行包含一个整数 (1≤n≤104)。
输出描述
输出一行,包含一个整数,表示满足条件的数的和。
输入输出样例
示例
输入
输出
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
第一道编程题比较简单,送分题,三四分钟就做完了。
G:完全二叉树的权值
题目描述
给定一棵包含 NN 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示:
现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。
注:根的深度是 1。
输入描述
第一行包含一个整数 )N(1≤N≤105)。
第二行包含 NN 个整数 A1,A2,⋅⋅⋅AN(−10的5次方≤Ai≤10的5次方)。
输出描述
输出一个整数代表答案。
输入输出样例
示例
输入
输出
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
遍历就行了
H:等差数列
题目描述
数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。
现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?
输入描述
输入的第一行包含一个整数 N。
第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1 ∼ AN 并不一定是按等差数列中的顺序给出)
其中,2≤N≤10的5次方,0≤Ai≤10的9次方。
输出描述
输出一个整数表示答案。
输入输出样例
示例
输入
输出
样例说明: 包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、 18、20。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
找对短的个数,那么就要找最大的公差。那么怎么找最大公差。首先要排序,排完序后,每两个数之间的差值,差值也要排序,最小的差值为0时,那么一定是n个,如果最小不是0,那要找所有差值的最大公约数。最大公约数就是最大公差,个数=(max-min)/d+1
I:后缀表达式
题目描述
给定 N 个加号、M 个减号以及 N+M+1个整数A1,A2,⋅⋅⋅,AN+M+1,小明想知道在所有由这 NN 个加号、M 个减号以及 N+M+1 个整数凑出的合法的 后缀表达式中,结果最大的是哪一个?
请你输出这个最大的结果。
例如使用 1 2 3 + -,则 "2 3 + 1 -" 这个后缀表达式结果是 4,是最大的。
输入描述
第一行包含两个整数 N,M。
第二行包含 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1。
其中,0≤N,M≤105,−10的9次方≤Ai≤10的9次方。
输出描述
输出一个整,代表答案。
输入输出样例
示例
输入
输出
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
首先要知道什么是后缀表达式,后缀表达式和四则运算不同,以这道题为例:
2 3 + 1 -
2进栈,3进栈,此时栈为 3 2
然后下一个是“+”,此时将2,3去除,先取出3放右边,再取出2放左边,变为2+3=5,然后5进栈;
此时栈里只有5,然后1进栈此时栈为 1 5,下一个为-,将1取出放右边,5取出放左边5-1=4;
答案为4,后缀表达式可不是四则运算,这道题容易误以为排序后将大的加起来,减去小的。
例如;3+2-1=4;这只是巧合;
注意先出栈的在符号右边
再说这道题的思路,首先分为三部分,所有数大于0,所有数小于0和有正负三种,然后考虑有无减号,逐个分析。
J:灵传输能
题目描述
题目背景
在游戏《星际争霸 II》中,高阶圣堂武士作为星灵的重要 AOE 单位,在 游戏的中后期发挥着重要的作用,其技能"灵能风暴"可以消耗大量的灵能对 一片区域内的敌军造成毁灭性的伤害。经常用于对抗人类的生化部队和虫族的 刺蛇飞龙等低血量单位。
问题描述
你控制着 nn 名高阶圣堂武士,方便起见标为 1,2,··· ,n1,2,⋅⋅⋅,n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值 ai 表示其拥有的灵能的多少,a_iai非负表示这名高阶圣堂武士比在最佳状态下多余了 ai 点灵能,ai 为负则表示这名高阶圣堂武士还需要 ai 点灵能才能到达最佳战斗状态)。
现在系统赋予了你的高阶圣堂武士一个能力,传递灵能,每次你可以选择一个 i∈[2,n−1],若 ai ≥ 0 则其两旁的高阶圣堂武士,也就是 i−1、i+1 这两名高阶圣堂武士会从 i 这名高阶圣堂武士这里各抽取 ai 点灵能;若ai < 0 则其两旁的高阶圣堂武士,也就是 i−1,i+1 这两名高阶圣堂武士会给 i 这名高阶圣堂武士 ai 点灵能。形 式化来讲就是 ai−1+=ai,ai+1+=ai,ai−=2ai。
灵能是非常高效的作战工具,同时也非常危险且不稳定,一位高阶圣堂武士拥有的灵能过多或者过少都不好,定义一组高阶圣堂武士的不稳定度为 所有灵能取绝对值的最大值,请你通过不限次数的传递灵能操作使得你控制的这一组高阶圣堂武士的不稳定度最小。
输入描述
本题包含多组询问。
输入的第一行包含一个正整数 TT 表示询问组数。 接下来依次输入每一组询问。
每组询问的第一行包含一个正整数 nn,表示高阶圣堂武士的数量。
接下来一行包含 n 个数 a1,a2,⋅⋅⋅,an。
其中,T≤3,3≤n≤300000,∣ai∣≤10的九次方.
输出描述
输出 TT 行。每行一个整数依次表示每组询问的答案。
输入输出样例
示例
输入
输出
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
一维前n项和问题,难点在于寻找点的排列方法,求前n项和,也就是前缀和,除了s[0]和s[n];不能动外其余任意排列,使得每两项差值的绝对值最小。说白了,就是固定起点和终点,给一些固定的点,使得这条曲线的斜率的绝对值最小。输出最小值就好了
- 点赞
- 收藏
- 关注作者













评论(0)