2024年9月青少年软件编程(C语言/C++)等级考试试卷(三级)

2024.09 电子学会青少年软件编程(C/C++)等级考试试卷(三级)

编程题(共 5 题)

1 爆气球

爆气球对孩子们来说是很好玩的游戏。假设有 n 只气球被布置在一条直线上,游戏的目标很简单,就是爆掉尽可能多的气球。但是这里我们加一条特殊的规则 ------ 你只能跳一次。我们假设聪明的娃穿了件浑身带刺的衣服,跳到某个位置,躺平,这样气球只要碰到娃身体的任何部分都会立刻爆炸。那么你的任务就是告诉娃应该跳到哪里,才能一次爆掉最多的气球。

时间限制:4000 内存限制:262144

输入

输入第一行两个正整数:n(≤ 105)为一条线上布置的气球的数量;h(≤ 103)为孩子伸直双臂能达到的高度。第二行给出 n 个整数,每个对应一只气球在直线轴上的坐标。题目保证坐标按递增顺序给出,所有坐标值在 -106, 106 区间内。

输出

在一行中输出孩子跳跃的位置坐标,使得孩子跳到这个位置然后躺平能够爆掉身下最多的气球;随后输出能爆掉的气球的最大数量。如果这个坐标不唯一,输出最小的那个值。 一行中的数间应有 1 个空格。

样例输入

11 120

-120 -40 0 80 122 140 160 220 240 260 300

样例输出

120 5

提示

注意:跳到从 120 到140,或 240 到 260 之间的任何位置,都可以爆掉 5 只气球,所以 120 作为最小的坐标被输出。

2 乘法小宇宙

一个 n 位数的正整数 A=anan-1...a1 和另一个 2 位数的正整数 B=b2b1 相乘,其乘法展开式如下图所示:

其中 C=cn+1cn...c1 是 A 与 b1 相乘的结果,D=dn+1dn...d1 是 A 与 b2 相乘的结果,P=pn+2pn+1...p1 是 A 与 B 相乘的结果。

若上图中的每一位数字都在一个给定的非零个位数字集合 S 里,则称 A 和 B 属于同一个乘法小宇宙 S。

本题给定乘法小宇宙 S 和 A 的位数,请你找出同属于这个乘法小宇宙中的所有 A 和 B。

时间限制:6000 内存限制:65536

输入

输入在一行中给出两个正整数 n(< 8)和 K(≤ 5),分别是 A 的位数和乘法小宇宙 S 中元素的个数。第二行给出 K 个 (0, 10) 区间内的整数,为 S 中的元素。题目保证没有重复元素。数字间以空格分隔。

输出

按照 A 的非递减序输出所有同属于这个乘法小宇宙中的 A 和 B,每行输出一对,数字间以 1 个空格分隔,行首尾不得有多余空格。对同一个 A,按 B 的递增序输出。若没有解,则输出 `No Solution`。

样例输入

样例#1:

4 5

4 2 1 6 5

样例#2:

3 4

9 2 5 6

样例输出

样例#1:

5556 44

6111 24

6111 42

样例#2:

No Solution

================================================

答案和更多内容请查看网站:【试卷中心 -- C/C++编程 三级】

网站链接

青少年软件编程历年真题模拟题实时更新

================================================

相关推荐
Irissgwe4 分钟前
算法的时间复杂度和空间复杂度
数据结构·c++·算法·c·时间复杂度·空间复杂度
随意起个昵称5 分钟前
区间dp-基础题目3(永别)
c++·算法
周末也要写八哥11 分钟前
有向图Hierholzer算法的另一种实现
算法
bIo7lyA8v14 分钟前
算法调优中的性能回归与基准测试分析的技术8
算法·数据挖掘·回归
有点。16 分钟前
C++贪心算法二(练习题)
c++·算法·贪心算法
西安邮电大学20 分钟前
贪心算法详细讲解
java·后端·其他·算法·面试
开源Z20 分钟前
LeetCode 135 · 分发糖果:两次扫描,先左后右取最大
算法·leetcode
坚果派·白晓明26 分钟前
鸿蒙 PC 应用集成 libhv 鸿蒙化三方库 —— AtomCode + Skills 驱动的高效集成实践
c语言·c++·ai编程·harmonyos·atomcode
触底反弹42 分钟前
拷个 .exe 到新电脑就跑不起来?你缺的不是文件,是对链接的理解
c++·windows·操作系统
aaaameliaaa1 小时前
C语言随机数函数使用全解析
c语言·笔记