试卷总分:100分



编程题 6题 100分

01 02 03 04 05 06

E863 全国青少年信息素养大赛 -2025-信息素养算法创意实践挑战赛-初中组-决赛-真题-考试

编程题 共6道

01
题目描述

已知长方体的长、宽、高分别为 a、b、c。长方体体积V的计算公式为 V = abc。

请你计算长方体的体积。

输入描述

三行,三个正整数 a、b、c。

输出描述

一行,表示长方体的体积 V。

输入样例:
2
3
4
输出样例:
24
15分

C0362
登录后作答
02
题目描述

小杰在玩一款游戏,初始拥有 m 枚金币。游戏中有两个不同的商店,每个商店的消费规则各不相同:

武器商店:如果当前金币 ≥ a,则花费 a 枚金币购买武器。
特殊规则:购买后,如果剩余金币是5的倍数,则返还3枚金币(幸运奖励)。

皮肤商店:如果当前金币 ≥ b,则花费 b 枚金币购买皮肤。
特殊规则:购买后,如果剩余金币是7的倍数,则返还5枚金币(周年庆活动)。

请你计算小杰最后剩余的金币。

输入描述

输入共 3 行,3 个正整数 m、a、b,分别表示初始金币和两个商店的消费金额。

输出描述

输出 1 行,表示小杰最终剩余的金币数。

输入样例
20
5
3
输出样例
15
15分

C0363
登录后作答
03
题目描述

某通信公司需要在一条直线上安装无线信号发射器,来覆盖沿线的 n 个区域。每个区域用两个坐标点表示其起点和终点 [ai, bi]。公司希望知道最少需要安装多少个信号发射器,才能覆盖所有需要服务的区域。

每个信号发射器安装在某个点上,可以覆盖到该点所在的所有区域。

输入描述

第一行一个整数n,表示需要覆盖的区域数量。
接下来 n 行,每行两个整数 ai 和 bi,表示第 i 个区域的起点和终点坐标。

输出描述

输出最少需要安装的信号发射器数量。

输入1
5
1 5
3 8
6 12
10 15
13 18
输出1
3
提示

样例解释:
最少需要安装 3 个信号发射器,例如放在坐标 5、12、18:
发射器放在 5,可以覆盖区间 [1,5] 和 [3,8]
发射器放在 12,可以覆盖区间 [6,12] 和 [10,15]
发射器放在 18,可以覆盖区间 [13,18]
这三个点刚好覆盖了所有给定的区间。

17分

C0364
登录后作答
04
题目描述

小明是一名音乐老师,他记录了一位学生 n 天的练琴进步情况。每天的进步程度用一个正整数表示,代表学生在该天的技能水平。

小明想知道这位学生最长的"连续进步期"有多长。所谓"连续进步期",指的是技能水平连续递增的时间段,即每天的水平恰好比前一天提高 1 点。

输入描述

第一行,一个整数 n,表示记录的天数。
第二行,n 个整数 ai,用空格隔开,表示每天的技能水平。

输出描述

一个整数,表示最长连续进步期的天数。

输入1
10
1 5 6 2 3 4 5 6 8 9
输出1
5
提示

样例解释:
在记录中,有几段连续进步期:
从第 1 天到第 2 天:技能水平从 1 提高到 5,不是连续进步
从第 2 天到第 3 天:技能水平从 5 提高到 6,是连续进步(1 天)
从第 4 天到第 8 天:技能水平从 2 依次提高到 3,4,5,6,是连续进步(5 天)
从第 8 天到第 9 天:技能水平从 6 提高到 8,不是连续进步
从第 9 天到第 10 天:技能水平从 8 提高到 9,是连续进步(1 天)
其中最长的连续进步期是 5 天。

17分

C0365
登录后作答
05
题目描述

生物学家小林正在研究某种病毒的DNA序列变异。由于测序仪器偶尔会出现故障,有时会将同一个核苷酸重复记录多次,比如可能把序列"ACGT"错误记录为"ACCGGT"。

小林记得在一批测序样本中,有一个关键的DNA变异序列出现频率最高。为了找出这个关键变异,他决定先对每个DNA序列进行标准化处理:将连续重复的相同核苷酸压缩为单个,比如将"AAACCTG"压缩为"ACTG",将"GGAATT"压缩为"GAT"。然后统计压缩后各序列的出现频率,找出最常见的那个。

请你帮助小林分析这批DNA样本,找出关键的变异序列。小林向你保证压缩后出现频率最高的序列是唯一的。

输入描述

第一行一个整数n表示共有n个DNA序列样本。
接下来 n 行,每行一个字符串,表示一个DNA序列。

输出描述

输出数据只有一行,包含一个字符串,表示压缩后出现次数最多的DNA序列。

输入1
3
QAAQQQQ
QWWWWQ
QQQQAQ
输出1
QAQ

提示

样例解释:
"QAAQQQQ"压缩成"QAQ"
"QWWWWQ"压缩成"QWQ"
"QQQQAQ"压缩成"QAQ"
"QAQ"出现了两次,"QWQ"出现了一次,所以"QAQ"出现次数最多。

18分

C0366
登录后作答
06
题目描述

城市规划局需要分析一张城市地图,以识别出不同的城市区划。地图被表示为一个 n×m 的矩阵,其中数字0表示自然保护区或水域(非城市区域),而数字 1 到 9 表示不同密度的城市建设区域。

定义一个"城市区划"为:任何两个城市建设区域(数字 1−9)如果在上、下、左、右四个方向上相邻,则它们属于同一个城市区划。现在需要计算给定地图上总共有多少个相互独立的城市区划。

输入描述

第一行两个整数 n 和 m,表示地图的行数和列数。
接下来 n 行,每行一个长度为 m 的只含字符 0 到 9的字符串,表示这个 n×m 的城市地图。

输出描述

一行一个整数,表示地图上独立城市区划的总数。

输入1
4 10
0234500067
1034560500
2045600671
0000000089
输出1
4
提示

样例说明:
在此地图上,有 4 个独立的城市区划:
1. 左上方的大片连接区域
2. 右上方的 "67" 区域
3. 右侧中部的 "71" 区域
4. 右下角的 "89" 区域

18分

C0367
登录后作答