🏆 全国青少年信息素养大赛

算法应用主题赛 — 星火征途(红色文化)
难度:中等 | 时长:90 分钟 | 满分:100分
题型:5单选(10分) + 5多选(20分) + 4编程(70分)

算法应用主题赛 — 星火征途(红色文化)(中等)
考生:— 第 1 / 14 题
--:--
第 1 题 单选题 2 分
在统计"红军各部队番号"时,需要生成一个包含1到10所有整数的列表。以下使用列表推导式的代码,哪个可以正确生成 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]?
第 2 题 单选题 2 分
在"情报加密模块"中,需要对每个字符的ASCII码进行简单变换。以下使用lambda匿名函数定义变换规则,输出结果是什么?
encode = lambda x: (x + 3) % 26
result = encode(24)
print(result)
第 3 题 单选题 2 分
在"革命根据地面积计算"中,需要使用数学函数来处理。以下关于Python math 模块的说法,正确的是?
第 4 题 单选题 2 分
在统计"革命标语使用频率"的任务中,有一个列表slogans = ["奋斗", "前进", "奋斗", "胜利", "奋斗"],想知道"奋斗"出现了几次,以下哪个代码正确?
第 5 题 单选题 2 分
在"红色地标带编号展示"程序中,需要同时获取每个地标的序号和名称。以下代码的输出是什么?
landmarks = ["井冈山", "延安", "西柏坡", "遵义"]
for i, name in enumerate(landmarks):
    print(str(i + 1) + "." + name)
第 6 题 多选题 4 分
在"革命情报验证"程序中,需要判断字符串的组成。以下关于字符串判断方法的说法,正确的有哪些?
第 7 题 多选题 4 分
在"革命根据地数据库"中,使用字典存储了大量信息。以下关于字典操作的说法,正确的有哪些?
第 8 题 多选题 4 分
在"战役档案管理"系统中,需要对文件进行读写。以下关于文件操作的说法,正确的有哪些?
第 9 题 多选题 4 分
在"英雄战绩排行榜"中,需要对列表中的字典按某个字段排序。以下关于排序的说法,正确的有哪些?
第 10 题 多选题 4 分
在"军需物资调配"函数设计中,需要考虑不同情况的参数处理。以下关于函数参数的说法,正确的有哪些?
第 11 题 编程操作题 0 分

题目描述:
红军情报站收到一批情报,每条情报是一个字符串。情报的校验规则如下:
1. 长度必须在6到12个字符之间(含)
2. 必须同时包含字母和数字
3. 不能包含空格
请你编写程序,输入一条情报字符串,判断其是否合法。如果合法输出"情报合法",否则输出"情报不合法"。

输入格式:
一行字符串,表示情报内容。

输出格式:
一行,"情报合法"或"情报不合法"。
示例输入1:
RedArmy1936
示例输出1:
情报合法
示例输入2:
abc123
示例输出2:
情报合法
示例输入3:
ab12
示例输出3:
情报不合法

示例输入:

示例输出:

第 12 题 编程操作题 0 分

题目描述:
红军后勤部有若干种物资,每种物资有固定的数量。前线需要一定数量的物资补给,请你判断现有的物资总量是否满足前线需求,以及还需要补充多少或剩余多少。

输入格式:
第一行一个整数 n(1 ≤ n ≤ 20),表示物资种类数。
接下来 n 行,每行一个物资名称和一个整数数量,用空格分隔。
最后一行一个整数 demand,表示前线的总需求量。

输出格式:
如果物资总量 ≥ 需求量,输出"物资充足,剩余X单位"(X为剩余量)。
如果物资总量 < 需求量,输出"物资不足,缺少X单位"(X为缺少量)。
示例输入1:
4
粮食 500
弹药 300
药品 100
被服 200
900
示例输出1:
物资充足,剩余200单位
示例输入2:
3
粮食 200
弹药 150
药品 80
500
示例输出2:
物资不足,缺少70单位

示例输入:

示例输出:

第 13 题 编程操作题 0 分

题目描述:
红军某部队的行军日志记录了每天的行军信息,格式为"日期,出发地,目的地,行军里程,天气"。请你编写程序,处理这些日志数据,完成以下统计:
1. 计算总行军里程
2. 找出行军里程最长的一天的所有信息
3. 统计每种天气出现的天数
日志数据(已内置在代码中):
1934-10-16,瑞金,于都,90,晴
1934-10-17,于都,信丰,85,晴
1934-10-18,信丰,大余,75,阴
1934-10-19,大余,南雄,100,晴
1934-10-20,南雄,仁化,60,雨

输入格式:
无输入(直接处理内置的日志数据)。

输出格式:
第一行输出"总行军里程:X里"
第二行输出"最长行军日:日期,出发地→目的地,里程里,天气"
之后输出"天气统计:",每行格式为"天气名:X天",按天气名字典序升序排列。

示例输入:

示例输出:

总行军里程:410里
最长行军日:1934-10-19,大余→南雄,100里,晴
天气统计:
晴:3天
阴:1天
雨:1天
第 14 题 编程操作题 0 分

题目描述:
某红色旅游区有n个地标,每个地标有名称和参观所需时间(分钟)。游客有T分钟的总时间,希望参观尽量多的地标。请你编写程序,采用贪心策略(优先选择参观时间最短的地标),计算最多能参观多少个地标,并输出参观方案。

输入格式:
第一行两个整数 n 和 T(1 ≤ n ≤ 100,1 ≤ T ≤ 1000),用空格分隔。
接下来 n 行,每行一个地标名称和一个整数时间(分钟),用空格分隔。

输出格式:
第一行输出"最多可参观:X个地标"
第二行输出参观路线(地标名之间用"→"连接)

示例输入:

6 200
瑞金革命旧址 50
井冈山革命博物馆 45
遵义会议纪念馆 40
延安革命纪念馆 55
西柏坡纪念馆 35
天安门广场 30

示例输出:

最多可参观:5个地标
天安门广场→西柏坡纪念馆→遵义会议纪念馆→井冈山革命博物馆→瑞金革命旧址