理论卷2024年9月青少年软件编程(C\C++) · 二级

YLT C++ 2级 2024.09

满分 100 · 及格 60 · 时长 60 分钟 · 共 5 题 (编程题5)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
编程题题号 #22225
分值 20

N3118 [CIE 202409 二级 T1] 火中取栗

题目描述

据法国诗人拉·封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出后被猴子吃了,猫却因此被烧掉了爪上的毛。
现在我们有 nn 只炉子,每只炉子里烤着一些栗子。假设笨猫每次伸爪最多能从一只炉子里抓出 kk 颗栗子,但会被烧掉 11 撮毛。问笨猫抓出所有的栗子最少要被烧掉多少撮毛?

输入格式

输入在第一行中给出 22 个正整数 nn(≤100000\le 100000)和 kk(≤10\le 10),含义如题面所述。数字间以空格分隔。随后一行给出 nn 个不超过 10001000 的正整数,其中第 ii 个数字表示第 ii 只炉子里烤的栗子的数量。

输出格式

在一行中输出笨猫抓出所有的栗子最少要被烧掉多少撮毛

样例

样例 1
输入:

5 2
3 4 8 1 15

输出:

17
2
编程题题号 #22226
分值 20

N3119 [CIE 202409 二级 T2] 垃圾分类

题目描述

据香港《南华早报》7月15日文章,上海严格的垃圾分类新规令不少居民抓狂。这催生出大量帮助找出正确分类答案的App和小程序。目前仅微信上就至少有280种与垃圾处理有关的App,在苹果应用商店也达130种。支付宝表示,已有60多家独立App开发商申请为该平台提供类似服务。
本题就请你现场实现一个简单的垃圾分类小助手。

输入格式

输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数 NN(≤100000\le 100000),即物品数量;随后 NN 行,每行给出一个物品名称(长度不超过 10 的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾)。题目保证所有物品名称无重复。随后每行给出一个查询物品的名称(格式与指南物品名称相同)。最后一行给出结束符 #,表示查询终止,这一行不需要查询。(查询的数量 ≤100000\le 100000 个)

输出格式

输出对每个查询的物品,在一行中给出其所属分类:Gan laji 代表干垃圾;Shi laji 代表湿垃圾;Ke Hui Shou 代表可回收物;You Hai laji 代表有害垃圾。如果查询的物品不在指南中,则输出 ? 表示不知道。

样例

样例 1
输入:

4
bao_zhi 3
dian_chi 4
dan_ke 2
bei_ke 1
dan_ke
dian_chi
ren_zha
bao_zhi
bei_ke
#

输出:

Shi laji
You Hai laji
?
Ke Hui Shou
Gan laji
3
编程题题号 #22227
分值 20

N3120 [CIE 202409 二级 T3] 生成字母串

题目描述

英语老师要求学生按照如下规则写一串字母:

  • 如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中下一个字母的大写;
  • 如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中前一个字母的小写。
    例如 aAaABCDdcbBC 就是一个合法的字母串;而 dEFfeFGhI 就是非法的。
    本题就请你编写程序,自动生成一个合法的字母串。

输入格式

输入在第一行给出一个不超过 1000010000 的正整数 NN 和第一个字母。随后一行给出一个由 0 和 1 组成的长度为 NN 的字符串。这个串给出了字母串的生成规则:从第一个字母开始,如果对应的规则串字符是 0,则下一个字母应该生成当前字母的大/小写;如果是 1 则下一个字母应该生成当前字母的前/后一个字母。注意:因为字母表中 a 没有前一个字母,Z 没有后一个字母,所以如果此时遇到 1 就忽略之。

输出格式

在一行中输出按规则生成的字母串。

样例

样例 1
输入:

12 a
001011101101

输出:

aAaABCDdcbBC
4
编程题题号 #22228
分值 20

N3121 [CIE 202409 二级 T4] B是A的多少倍

题目描述

设一个数 AA 的最低 DD 位形成的数是 ada_d。如果把 ada_d 截下来移到 AA 的最高位前面,就形成了一个新的数 BB。BB 是 AA 的多少倍?例如将 1234512345 的最低 22 位 4545 截下来放到 123123 的前面,就得到 4512345123 ,它约是 1234512345 的 3.663.66 倍。

输入格式

输入在一行中给出一个正整数 AA(≤109\le 10^9)和要截取的位数 DD。题目保证 DD 不超过 AA 的总位数。

输出格式

计算 BB 是 AA 的多少倍,输出小数点后 22 位。

样例

样例 1
输入:

12345 2

输出:

3.66

样例 2
输入:

12345 5

输出:

1.00
5
编程题题号 #22229
分值 20

N3122 [CIE 202409 二级 T5] 机器人拼图

题目描述

给定一块由 n×mn \times m 个格子组成的矩形拼图板,本题要求你根据给定的机械手移动指令集,将拼图中的碎片逐一放到指定位置。
机械手每次抓取一块碎片,都会在拼图板的左上角位置等待指令。一个指令集是由 0−40-4 这五个数字组成的字符串,每个数字代表的意义如下:

  • 1:向右移动一格;
  • 2:向下移动一格;
  • 3:向左移动一格;
  • 4:向上移动一格;
  • 0:将碎片放置在当前位置,并结束这次任务。
    如果指令要求机械手移动到拼图板边界外,机械手会无视这个指令。如果接收到指令 00 时,当前位置上已经有一块碎片放好了,机械手会扔掉手里的碎片,结束这次任务。

输入格式

输入第一行给出 22 个正整数 nn 和 mm(1≤n,m≤1001 \le n, m \le 100),随后一共有 n×mn \times m 行,第 ii 行给出编号为 ii (i=1,…,n×mi = 1, \ldots, n \times m)的碎片对应的指令集,每条指令集一定以唯一的 00 结尾。(总的指令操作步数不超过 10710^7)

输出格式

输出 nn 行,每行 mm 个整数,为放置在对应位置上的碎片编号。如果该位置上没有碎片,则输出 00。一行中的数字间以 11 个空格分隔,行首位不得有多余空格。

样例

样例 1
输入:

2 3
1120
21140
34120
0
110
21111340

输出:

4 6 2
0 3 1
海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款