2022NOC 初中组 C++ 决 \
一、单项选择题 (20 分 /题,共 5题 )
1时间复杂度为 O (nlogn) 的排序算法是 ()
A. 冒泡排序 B. 归并排序 C. 计数排序 D. 选择排序
2后缀表达式 "3 2512 +*+" 的值是( )。
A. 23 B. 25 C. 37 D. 65
3
有如上函数定义,则调用 fun (6) 得到的返回结果为 ()
A. 720 B. 180 C. 144 D. 48
4小于等于 30000 的正整数中,与 30000 互质的正整数有 ()个
A. 8000 B. 8500 C. 6000 D. 9000
5插入排序算法的伪代码如下。
输入:数组 A,元素下标为 1~n。
输出:按非递减顺序排序的 A。
插入排序算法:
1.for i=2to n
2. key =A[i]
3. j=i-1
4. while j>0and A[j] >key
5. A[j +1] =A[j]
6. j=j-1
7. A[j +1] =key
对 n个数用以上排序算法进行排序,第 5行语句最少执行 ()次,最多执行 ()次。
A. n, n(n-1)/2 B. n, n(n+1)/2 C. 0, n(n+1)/2 D. 0, n(n-1)/2
二、程序设计题 ( 100 分 /题,共 3题)
6商场导购
【题目描述】
作为 H国知名商人,东东在 D城的市中心开了一家高人气商场,商场提供极其贴心的五星
级导购服务。 需要导购服务的顾客可以提前一天预约使用的时间段。目前有 N位顾客预约
了第二天导购服务,其中第 i位顾客预约的时间段为 Ai 到 Bi,注意导购服务包括了 Ai 和 Bi
两个时间段。很明显一位导购在同一个时间段只能服务一位客户。 为了节约人工成本,东
东希望使用最少的导购满足全部顾客的要求。请你帮他求出第二天最少需要多少位导购。
【输入格式】
输入有两行,第一行为两个正整数 N,表示预约导购服务的顾客数量。 第 2到 N+1 行,
每行两个整数 Ai, Bi,表示第 i位顾客预约的时间段。
【输出格式】
输出一个整数,表示最少需要多少导购,可以满足全部顾客。
【输入样例 1】
5
110
25
58
36
610
【输出样例 1】
4
【样例 1说明】 由于导购服务包括边界的时间段,所以 [2, 5]和 [5, 8]必须让不同的导购负责,
那么只有 [2, 5]和 [6, 10] 可以请同一个导购,其他都需要单独请导购。
【输入样例 2】
10
24 29
11 14
510
26 32
46
27 31
39 39
39 44
18 21
18 18
【输出样例 2】
3
【数据范围】
对于 30% 的数据: 1<= N<= 10 ;
对于 60% 的数据: 1<= N<= 100 , 1<= Ai<= Bi<= 100 ;
对于 100% 的数据: 1<= N<= 10000 , 1<= Ai<= Bi<= 5000 。
7谜
【题目描述】
二战期间,德军使用一种名为 “Enigma ”的密码机。这个密码机最终被盟军破解的关键之一,
是来自于使用它的人的习惯。德军每天发送的电报中,会有很多重复的词语,比如问候语、
结尾的落款、每天的天气等等。盟军的破解人员把这些重复出现的词语称作 “crib ”。
知道了 “crib ”,还要知道 “crib ”在密文中的什么位置。由于 “Enigma ”是通过电路加密,所以一
个字母加密后绝对不会仍然是自身,这个特性可以帮助我们定位 “crib ”的位置。
例如盟军截获了一条密文 "XEQFTWRWEVTRES" ,并且我们猜测原文中可能含有 "WETTER" 这
个词。因为字母绝对不会被加密成自身,所以当我们将 "WETTER" 这个词和密文去比对,就
可以找到这个词可能的位置。
在下面这个位置时, "WETTER" 和密文对应的每个位置的字母都不相同,所以这条密文的原
文中可能含有 "WETTER" 。
一条密文中可能含有不止一种 “crib ”,同一种 “crib ”也可能出现多次 ,“crib ”所占据的位置不能
有重叠。给出所有可能的 “crib ”和一条密文,你要求出这条密文中可能包含的 “crib ”的最多
个数。
【输入格式】
第 1行, 1个正整数 n,表示有 n种 “crib ”。
接下来 n行,每行一个字符串,表示 1种 “crib ”。
最后 1行, 1个字符串,表示密文。
【输出格式】
输出 1个整数,表示密文中可能包含的 “crib ”的最大个数。
【输入样例 1】
2
WETTER
XORT
XEQFTWROEXGRES
【输出样例 1】
2
【输入样例 2】
2
CRYTIC
OVULIST
CCNDDZIYXDSMTOS
【输出样例 2】
2
【输入样例 3】
3
RUBRA
DOING
GRATED
XMQWVBJAMMRGCOXQPFIZOBMDUYOXJNGTTNRJOHLD
【输出样例 3】
8
【说明提示】
样例 1说明:
如下安排两个 crib 的位置,最多包含 2个 crib 。
crib 也可能在如下两个位置,仍然是包含 2个 crib 。
样例 2说明:
如下安排两个 crib 的位置,最多包含 2个 crib 。
【数据范围】
对 10% 数据: n=1
另有 10% 数据满足:所有 “crib ”的长度都等于 1。
对 100% 数据: 1≤ n≤ 50 ;“crib ”互不相同 。“crib ”的长度不超过 50 ,密文的长度不超过 10 5,
输入中所有字符串只含大写英文字母。
8炫耀成绩
【题目描述】
猴帅老师所教班级刚刚进行了一次测试,猴帅老师邀请编程组的黑客老师一起判卷,其实
是想秀一秀自己学生成绩。试卷从上到下编号 1~n,猴帅老师对自己学生了如指掌,一下
就掌握了他们的实际分数。猴帅老师为了显得不这么刻意,会主动说第 i个试卷到第 j个试
卷自己判,其中 1< i<= j< n,即侯帅老师一定不会选择第 1个试卷和第 n个试卷,其余
交
2022NOC初中组C++决赛(答案版)2022NOC大赛C++编程初中组决赛真题附答案