理论卷2025年3月青少年软件编程(C\C++) · 四级

YLT C++ 4级 2025.03

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

N5652 [CIE 202503 四级 T1] 两枚硬币

题目描述

伊娃喜欢收集全宇宙的硬币,包括火星币等等。一天她到了一家宇宙商店,这家商店可以接受任何星球的货币,但有一个条件,无论什么价格,都必须用 22 枚硬币一次付清,不能多也不能少。而她有多达 10510^5 个硬币,于是求助于你。给定任一价格,请帮她找出可以付款的 22 枚硬币。

输入格式

第 11 行给出 22 个正整数:nn(≤105\leq 10^5)为硬币枚数、mm(≤103\leq 10^3)为伊娃要付清的价格;
第 22 行给出 nn 枚硬币的面值,均为不超过 500500 的正整数。同行数字间以空格分隔。

输出格式

在一行中输出两枚硬币的面值 v1v_1 和 v2v_2,以 11 个空格分隔,满足条件 v1+v2=mv_1 + v_2 = m,并且 v1≤v2v_1 \leq v_2。如果这样的解不唯一,输出 v1v_1 最小的那个解。如果解不存在,则输出 No Solution。

样例

样例 1
输入:

8 15
1 2 8 7 2 4 11 15

输出:

4 11

样例 2
输入:

7 14
1 8 7 2 4 11 15

输出:

No Solution
2
编程题题号 #22141
分值 25

N5653 [CIE 202503 四级 T2] 完美数列

题目描述

给定一个正整数数列,和正整数 pp,设这个数列中的最大值是 MM,最小值是 mm,如果 M≤m×pM \le m \times p,则称这个数列是完美数列。
现在给定参数 pp 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。

输入格式

输入第一行给出两个正整数 nn 和 pp,其中 nn(≤105\le 10^5)是输入的正整数的个数,pp(≤109\le 10^9)是给定的参数。
第二行给出 nn 个正整数,每个数不超过 10910^9。

输出格式

在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。

样例

样例 1
输入:

10 8
2 3 20 4 5 1 6 7 8 9

输出:

8
3
编程题题号 #22142
分值 25

N5654 [CIE 202503 四级 T3] 多样解码

题目描述

将一个由大写英文字母组成的字符串加密为一个数字串,可以简单地将 A∼ZA \sim Z 转换为 0∼250 \sim 25。但是这种方法带来的问题是,反向解码的结果可能是不唯一的。
例如 1213407 既可以解码为 BCBDEAH,也可以解码为 MBDEAH、BCNEAH、BVDEAH 或 MNEAH。注意 07 和 7 是有区别的,不能被解码为 H。
本题就请你计算一下,给定的数字串有多少种不同的解码结果。

输入格式

输入在一行中给出一个不超过 10410^4 位的数字串,串非空且不包含空格。

输出格式

输出该数字串对应的不同解码结果的数量。这个数量可能非常巨大,你只需要输出其对 10000000071000000007 取模后的结果。

样例

样例 1
输入:

1213407

输出:

5
4
编程题题号 #22143
分值 25

N5655 [CIE 202503 四级 T4] 二进制串的评分

题目描述

对于一个给定的二进制串(即仅由字符 00 和 11 组成的串),其评分是这样计算的:将原串切分为若干段,使得每段包含的字符是一样的,且相邻两段包含的字符是不一样的。该字符串的评分定义为各段长度的异或值(如果只有一段,评分就是这段的长度)。
异或(Exclusive OR,简称 XOR)是一种数学运算符,用于计算机中的位运算。当且仅当两个输入值不同时,异或运算输出为真(11),否则输出为假(00)。
例如,串 10001100001 可以切分为 55 段,即 1、000、11、0000、1,其评分就是 1 ^ 3 ^ 2 ^ 4 ^ 1 = 5。
假设每一步我们可以交换 22 个相邻的字符,并且可以这样执行任意多步(当然也可以执行 00 步)。对每个可能的评分 xx,你能得到多少个不同的串?将原串 ss 通过交换操作变成评分为 xx 的串,所用的最少步骤是多少?

输入格式

输入在一行中给出非空的原始二进制串 ss,其长度不超过 6464。

输出格式

对每个可能的评分,在一行中输出 33 个空格分隔的整数,依次为:评分值、对 ss 执行任意多步交换后能得到的不同串的个数、将 ss 通过交换操作变成该评分的串所需要的最少步骤数。按评分的升序输出。

样例

样例 1
输入:

010

输出:

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

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

课程方向

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

联系我们

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

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

隐私政策服务条款