2025年6月电子学会青少年软件编程(C/C++五级)等级考试试卷
操作/编程
五级
2025
2025-07-25 13:07:53
44次
一、编程题
街道的中心
题目描述
城市商业街主干道是一条笔直的道路,商业街里有 n 家店铺,现给定 n 个店铺的位置,请在这条道路上找到一个中心点,使得所有店铺到这个中心点的距离之和最小,并输出这个最小值。
输入格式
第一行:单个正整数 n。
第二行:n 个整数表示一个店铺的位置。
输出格式
单个整数:表示商铺到中心点距离之和的最小值。
输入样例
4
-2 0 2 0
输出样例
4
说明提示
数据范围:
· -5000≤xi≤5000
· 对于 30% 的数据,1≤n≤20
· 对于 60% 的数据,1≤n≤2000
· 对于 100% 的数据,1≤n≤100000
样例解释:
最优中心设置在坐标 0 处,总距离为:
∣-2-0∣+∣0-0∣+∣2-0∣+∣0-0∣=2+0+2+0=4
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++五级
组合
题目描述
你收集了 n 张卡片,按照收集的时间顺序编号 1 到 n 并依次排列,每张卡片上标有一个数值。现在突发奇想,想知道在这些卡片中,若每次挑选两张卡片,会有多少对不同的组合满足两张卡片的数值和恰好为 0,请你计算出符合条件的卡片组合的数量。
输入格式
· 第一行:单个整数表示 n
· 第二行:n 个整数表示 a1,a2,a3,…,an
输出格式
单个整数:表示有多少对卡片数值和为 0。
输入样例
4 2 -2 2 0
输出样例
2
说明提示
· 30%的数据,1≤n≤1000
· 60% 的数据,1≤n≤20000
· 100% 的数据,1≤n≤300000
· -1,000,000,000≤ai≤1,000,000,000
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++五级
图书管理
题目描述
图书馆的书籍分类系统使用二进制标签管理,0 代表儿童读物,1 代表青少年书籍。管理员发现当前的书架排列中不允许出现青少年书籍之后连接儿童读物的情况(即 10 子串)。管理员每次可以交换任意两本书的位置。请计算让书架符合规定所需的最少操作次数。
输入格式
由 0 和 1 组成的字符串,表示当前书架排列。
输出格式
一行一个非负整数,即达到目标所需的最少操作次数。
输入样例#1
1100
输出样例#1
2
输入样例#2
00
输出样例#2
0
输入样例#3
10110100
输出样例#3
3
说明提示
对于全部的输入数据,保证 2≤字符串长度≤200000 ,同时 ci必为1 或 0 中的一个。
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++五级
选数
题目描述
给定一个正整数 n,从数字 1 到 n 中选择若干个数字(所选集合不能为空),且任意两个被选中的数字在数轴上不能相邻。求符合条件的方案数,结果对 1000000007 取模。
输入格式
第一行:单个整数 n。
输出格式
输出一个整数,表示方案数模 1000000007 的结果。
输入样例
3
输出样例
4
说明提示
· 对于 30% 的数据,n≤20;
· 对于 60% 的数据,n≤10,000;
· 对于 100% 的数据,1≤n≤100,000。
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++五级
