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

YLT C++ 4级 2023.05

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

N5461 [CIE 202306 四级 T1] 怪盗基德的滑翔翼

题目描述

怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。
有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。
假设城市中一共有 NN 幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?

输入格式

输入数据第一行是一个整数 KK (K<100)(K < 100),代表有 KK 组测试数据。 每组测试数据包含两行:第一行是一个整数 NN (N<100)(N < 100),代表有 NN 幢建筑。第二行包含 NN 个不同的整数,每一个对应一幢建筑的高度 hh (0<h<10000)(0 < h < 10000),按照建筑的排列顺序给出。

输出格式

对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。

样例

样例 1
输入:

3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10

输出:

6
6
9

提示

无

2
编程题题号 #22374
分值 25

N5462 [CIE 202306 四级 T2] 数字组合

题目描述

有 nn 个正整数,找出其中和为 tt (tt 也是正整数) 的可能的组合方式。如: n=5n=5,55 个数分别为 1,2,3,4,51,2,3,4,5,t=5t=5; 那么可能的组合有 5=1+45=1+4 和 5=2+35=2+3 和 5=55=5 三种组合方式。

输入格式

输入的第一行是两个正整数 nn 和 tt,用空格隔开,其中 1≤n≤201\leq n \leq 20,表示正整数的个数,tt 为要求的和 (1≤t≤1000)(1\leq t\leq 1000) 接下来的一行是 nn 个正整数,用空格隔开。

输出格式

和为 tt 的不同的组合方式的数目。

样例

样例 1
输入:

5 5
1 2 3 4 5

输出:

3

提示

无

3
编程题题号 #22375
分值 25

N5463 [CIE 202306 四级 T3] 带通配符的字符串匹配

题目描述

通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号 (?)(?) 和星号 (∗)(*) 等,其中,“??”可以代替一个字符,而“∗*”可以代替零个或多个字符。
你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。
例如,1?4561?456 可以匹配 1245612456、1345613456、1a4561a456,但是却不能够匹配2345623456、1aa4561aa456;
2∗77?82*77?8 可以匹配 2445779824457798、237708237708、2779827798。

输入格式

输入有两行,每行为一个不超过 2020 个字符的字符串,第一行带通配符,第二行不带通配符

输出格式

如果两者可以匹配,就输出 “matchedmatched”,否则输出 “not matchednot\ matched”

样例

样例 1
输入:

1*456?
11111114567

输出:

matched

提示

无

4
编程题题号 #22376
分值 25

N5464 [CIE 202306 四级 T4] 股票买卖

题目描述

最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。
假设阿福已经准确预测出了某只股票在未来 NN 天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。
同一天可以进行多次买卖。但是在第一次买入之后,必须要先卖出,然后才可以第二次买入。
现在,阿福想知道他最多可以获得多少利润。

输入格式

输入的第一行是一个整数 TT (T≤50)(T \leq 50) ,表示一共有 TT 组数据。 接下来的每组数据,第一行是一个整数 NN (1≤N≤100,000)(1 \leq N \leq 100, 000) ,表示一共有 NN 天。第二行是 NN 个被空格分开的整数,表示每天该股票的价格。该股票每天的价格的绝对值均不会超过 1,000,0001,000,000 。

输出格式

对于每组数据,输出一行。该行包含一个整数,表示阿福能够获得的最大的利润。

样例

样例 1
输入:

3
7
5 14 -2 4 9 3 17
6
6 8 7 4 1 -2
4
18 9 5 2

输出:

28
2
0

提示

对于第一组样例,阿福可以第 11 次在第 11 天买入(价格为 55 ),然后在第 22 天卖出(价格为 1414 )。第 22 次在第 33 天买入(价格为 −2-2 ),然后在第 77 天卖出(价格为 1717 )。一共获得的利润是 (14−5)+(17−(−2))=28(14 - 5) + (17 - (-2)) = 28
对于第二组样例,阿福可以第 11 次在第 11 天买入(价格为 66 ),然后在第 22 天卖出(价格为 88 )。第 22 次仍然在第 22 天买入,然后在第 22 天卖出。一共获得的利润是 8−6=28 - 6 = 2 对于第三组样例,由于价格一直在下跌,阿福可以随便选择一天买入之后迅速卖出。获得的最大利润为 00

海小星AI平台海小星AI平台

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

课程方向

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

联系我们

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

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

隐私政策服务条款