万卷网> 电子学会考级 >C/C++等级考试 > 2025年9月电子学会青少年软件编程(C/C++二级)等级考试试卷

2025年9月电子学会青少年软件编程(C/C++二级)等级考试试卷
操作/编程 二级 2025 2025-10-29 10:01:02 89

一、编程题

1.

硬币

可以使用任意数量的 a元硬币、b 元硬币和 c 元硬币。请找出恰好凑出 n 元所需的最小硬币总数。若无法凑出,则输出 -1。

时间限制:1000ms,内存限制:256MB

输入格式

第一行,整数 n;

第二行,三个整数表示 a、b、c。

输出格式

输出最小硬币总数(若无法凑出则输出 -1)。


输入样例#1

100
20 40 50

输出样例#1

2

输入样例#2

99
1 5 10

输出样例#2

14

数据范围:

1≤N≤109;1≤A≤B≤C≤109。保证最终最小硬币总数不超过104。

2.

游戏

游戏中有 N 个敌人,第 i 个敌人有 hi 的血量,当敌人血量降至 0 或以下时该敌人被消灭。

按照顺序从第 1 个敌人开始打,时间 T 从 0 开始,每次攻击前,先将 T 增加 1,若此时 T 为 3 的倍数,当前敌人掉 3 滴血,否则掉 1 滴血。求消灭全部敌人所需时间。

时间限制:1000ms,内存限制:256MB

输入格式

第一行输入一个正整数 N;

第二行输入 N 个 正整数 H1、H2、……、Hn。

输出格式

输出一行答案 T。


输入样例#1

3
3 1 4

输出样例#1

6

输入样例#2

6
3 14 15 9 2 6

输出样例#2

33

数据范围:

1≤ N≤ 2×105;1≤ Hi ≤109。

3.

丢失的数字

述给定整数 n 和一个包含 n - 1 个整数的序列,该序列由区间 [1, n] 内的 n - 1 个互异整数组成。请找出该区间内缺失的唯一整数。

时间限制:1000ms,内存限制:256MB

输入格式

第一行:一个整数 n;

第二行:n - 1 个整数。

输出格式

一个整数,表示丢失的数字。


输入样例#1

6
1 2 5 6 3

输出样例#1

4

输入样例#2

10
7 2 3 9 4 8 1 6 10

输出样例#2

5

数据范围:

1≤n≤2×104 ,输入序列保证合法。

4.

维修任务

在一条商业街上,有 100个店铺,店铺从左到右编号为 1 到 100。工人从店铺 x 移动到 y 发生的移动距离为 ∣y - x∣。

现在需要完成 n 个修理任务。其中第 i 个任务要求工人移动到店铺 ai,报修任务分两类,用 L 表示任务分配给小李,用 R 表示任务分配给小任。必须按照报修的顺序来完成这些任务。

请计算,完成所有修理任务后,两位工人的总移动的总距离。工人最开始的位置可以按照最理想的情况安排。

时间限制:1000ms,内存限制:256MB

输入格式

第一行:一个整数 n,表示搬运次数;

接下来 n 行,每行一个整数 ai 表示商店位置,一个字符 Si 表示哪位工人完成。

输出格式

输出所有任务完成时的最小总距离。


输入样例#1

4
3 L
6 R
9 L
2 R

输出样例#1

10

输入样例#2

3
2 L
2 L
99 L

输出样例#2

97

输入样例#3

8
22 L
75 L
26 R
45 R
72 R
81 R
47 L
29 L

输出样例#3

154

数据范围:

1≤N≤100,1≤ai≤100,si∈{L, R}。

5.

不同的数字

给定 n个正整数 a1、a2、……、an,请统计出这个数列中含有多少个不同的整数。

时间限制:1000ms,内存限制:256MB

输入格式

第一行:一个整数 n;

第二行:n 个整数 a1、a2、……、an。

输出格式

一个整数,数列中含有多少个不同的整数。


输入样例#1

6
1 6 5 6 3 1

输出样例#1

4

输入样例#2

10
1 2 3 4 5 6 7 8 9 10

输出样例#2

10

数据范围:

1≤n、ai≤105。

公众号
客服 反馈
顶部