2024CSP-J原创初赛模拟卷9

(认证时间:2023年9月16日 09:30~11:30)
*
基本信息:
姓名:
姓名:
班级:
班级:
学校:
学校:

一、单项选择题(每题只有一个正确选项,每题2分,共30分)

*
1.阅读下面的代码,其中 sizeof(data) 的值是多少 ()
struct node{
                int a, z;
               double b;
               char c;
}data;
A. 13
B. 8
C. 24
D. 17
*
2. 一个字长为 8 位的整数的补码是 11101011,则它的原码对应的十进制整数的值是()
A.-21
B. -19
C. 19
D. 21
*
3.(2024)5 + (2024)8 的结果是()
A.(4041)7
B. (1407)10
C. (10404)6
D. (1834)9
*
4.已知有序表 (5, 11, 19, 31, 40, 48, 59, 67, 76, 88, 99),当折半查找值为 76 的元素时,查找成功的比较次数是 ()
A.4
B. 2
C.3
D.5
*
5.二叉树的根节点深度为 1,那么深度为 k 的二叉树,最多含有 () 个叶子节点。
A.2k
B.2k - 1
C.2k-1
D.2k-1 - 1
*
6.字符串 aabbcd 子串个数是()
A.18
B.19
C.20
D.21
*
7.一棵6个节点二叉树的后序遍历为ABGEFCD,中序遍历为ABDGECF,先序遍历为 ()
A.DBACEFG
B.DBACEGF
C. DBAGECF
D. DBAECGF
*
8.下列 IP 地址中正确的是 ()
A.133.255.256.1
B.0.0.0.0
C.0.256.0.0
D.1-1-1-1
*
9.一个 n 个顶点的强连通图至少有 () 条边
A.n-1
B. n+1
C. n*(n-1)
D. n
*
10.一个有 n 个顶点的无向图是一个森林,若森林中有 x 条边,则森林中有 () 棵树。
A.n-x
B. x-n
C. x-n+1
D. n-x+1
*
11.从 4 个班级中挑选出 6 名同学参加活动,允许有的班级没有同学参加,有 ()种不同的分配方案。
A.84
B. 30
C. 15
D. 48
*
12.已知 “之” 、“乎”、“者”、“也”、“啊”、“这”分别出现的次数为 6,3,8,2,10,4,采用哈夫曼编码可能是 ()
A.00,1011,01,1010,11,100
B.01,1011,01,1010,11,100
C.00,100,110,000,0010,01
D.010,10,11,0010,01,0000
*
13.四个不同的元素依次进栈,能有 ()种不同的出栈序列。
A.11
B. 12
C.13
D. 14
*
14.下列关于排序算法的描述不正确的是 ()
A.冒泡排序与插入排序都是稳定的排序方法。
B.归并排序是一个稳定的排序方法。
C.n个元素使用快速排序在糟糕的情况下时间复杂度是 O(nlogn)。
D.选择排序是一个不稳定的排序方法。
*
15.下列描述计算机病毒的特征中,()不是正确的。
A.潜伏性
B.高速性
C.传染性
D.危害性

二、程序阅读理解题(共3大题。程序输入不超过数组或字符串定义的范围,除特殊说明外,判断题1.5分,选择题3分,共计40分)

1. (12分)


l判断题

*
16.函数 M(int &a, int &b) 的时间复杂度是 O(3)。 ( )
*
17.函数 T(2, 5) 返回值 res 是 25。( )(2分)
*
18.当程序输入 20 1时,程序无法正常运行。( )
*
19.当程序输入的 b > 1且 a < 30 的正整数时 T 函数的时间复杂度是 ()
A.logyk
B. O()
C.log2k
D.O(k)
*
20.当程序输入 1024 2024 时,程序的输出是 ()
A.22185
B. 22186
C.22187
D.22188

2.(13.5分)


程序输入的 n 和 m 保证小于 35。

l判断题

*
21.当n和m大于0且输入的数大于0,程序的运行结果也大于0。 ( )
*
22.当调用函数M(7,9,8),函数的返回值是 9。( )
*
23.当程序输入n=2,m=2,紧接着输入1、3、5、9,程序的运行结果是12。 ( )
*
24.该程序的时间复杂度是 ()
A.O(n)
B. O(nlogn)
C.O(3^n+3^m)
D. O(n^2)
*
25.若程序输入 n = 3,m = 4 依次输入 3 7 9 5 ,2 4 5 7, 1 9 3 2, 程序的第 23 行输出的结果是()
A.8
B. 10
C.13
D.15
*
26.若程序输入 n = 3, m = 5 依次输入1 3 5 7 9,8 6 4 2 0,17 15 12 7 11,调用 f 函数返回给主函数的结果是 ()
A.29
B. 31
C.33
D.35

3.(14.5分)



假设程序输入的 n 保证不超过 1000。

l判断题

*
27.将程序的第 9 行 if 条件判断修改成 b%2==1,程序以运行的结果一定不会发生改变。 ( )
*
28.函数 Cal(LL a,LL b) 的时间复杂度是O(b)。 ( )
*
29.当程序输入n个不为0的数,程序的运行结果可能等于0。 ( )
*
30.当程序的运行结果为 60 时,程序的输入可能是 ()
A.5 1
B. 5 1 1 3 5 7 9 3 5 7 9 11
C. 5 2
D. 5 2 6 2 2 2 3 3 2 2 2 5
*
31.当程序的输入是 5 3 17 981 237 421 88 ,程序的运行结果是()
A.13951
B. 13952
C. 13953
D.13954
*
32.当调用函数 Cal(Cal(3,91),Cal(5,88))该函数的返回值是()
A.476
B. 738
C.688
D.288

三、程序完善题(共2大题,每个选择题3分,共计30分)

1.题目描述

有一种饲料使用大麦、燕麦、小麦按照一定的比例进行调配。

第一行输入目标饲料大麦、燕麦、小麦的比例。

第二行到第四行每行输入买进每种饲料大麦、燕麦、小麦的比例。

编出找出这三种饲料用量最少的方案,要是不能使用这三种饲料调配目标饲料,输出 NO。用量最少意味着三种饲料的用量的和必须最小,数据保证每种饲料购买的分数小于100。

输出一行四个整数,前三个整数表示每种饲料买进的比例,第四个整数表示可以调配出目标比例饲料的份数。

例如:

3 4 5

1 2 3

3 7 1

2 1 2

目标饲料大麦、燕麦、小麦的比例是 3 : 4 : 5;第一份饲料大麦、燕麦、小麦的比例: 1 : 2 : 3;第二份饲料大麦、燕麦、小麦的比例: 3 : 7 : 1;第三份饲料大麦、燕麦、小麦的比例: 2 : 1 : 2。

8*(1:2:3)+1*(3:7:1)+5*(2:1:2) = (21:28:35) = 7*(3:4:5)

饲料1使用8份,饲料2使用1份,饲料3使用5份,得到目标饲料7 份。




*
33.① 处应填 ()
A.g[0] + g[1] + g[2] >= 0
B.g[0] + g[1] + g[2] != 0
C.g[0] + g[1] + g[2] == 0
D.g[0] + g[1] + g[2] <= 0
*
34.② 处应填 ()
A.x + y + z < 3
B.x + y + z < 2
C.x + y + z < 1
D.x + y + z < 0
*
35.③ 处应填 ()
A.(s[0] + s[1] + s[2])/( x + y + z)
B.(s[0] + s[1] + s[2])/(g[0] + g[1] + g[2])
C.max(s[0]/g[0], max(s[1]/g[1], s[2]/g[2]))
D.min(s[0]/g[0], min(s[1]/g[1], s[2]/g[2]))
*
36.④ 处应填 ()
A.s[0] = t1 && s[1] = t2 && s[2] = t3
B.s[0] == t1 || s[1] == t2 || s[2] == t3
C.s[0] = t1 || s[2] = t2 || s[2] = t3
D.s[0] == t1 && s[1] == t2 && s[2] == t3
*
37.⑤ 处应填 ()
A.r[0] = x, r[1] = y, r[2] = z;
B.r[0] = x, r[1] = z, r[2] = y;
C.r[0] = y, r[1] = x, r[2] = z;
D.R[0] = z, r[1] = y, r[2] = x;

2.题目描述

给出一个合法的括号序列满足以下条件:

A=(),则 A 是合法括号序列。

若 A 是合法括号序列,则 (A) 是合法括号序列。

若 A,B 是合法括号序列,则 AB 是合法括号序列。

给出了一个长度为 n 括号序列 S,以及一个长度为 n 的序列 ai


你可以将序列分成若干非空子段,定义整个序列的美丽度为每段的w(l,r)之和。求美丽度最大为多少。

第一行输入一个整数 n(n <= 3000000)。

第二行输入一个字符串,代表括号序列。

第三行代表序列 a。

输出一行一个整数,表示最大的美丽度。



*
38.① 处应填 ()
A.s[i] == ')'
B. s[i+1] == ')'
B.Stk.empty()
D. stk.size()
*
39.② 处应填 ()
A.f[u][1] > f[u][0]
B.f[u][1] < f[u][0]
C.f[u-1][1] > f[u-1][0]
D.f[u-1][1] < f[u-1][0]
*
40.③ 处应填 ()
A.p[u] - 1
B.p[u] + 1
C.p[u - 1]
D.p[u + 1]
*
41.④ 处应填 ()
A.f[i][0] < f[i-1][1]
B.f[i][0] > f[i-1][0]
C.f[i-1][1] > f[i][0]
D.f[i-1][0] < f[i-1][1]
*
42.⑤ 处应填 ()
A.max(f[n][1], f[n][0])
B.min(f[n][1],f[n][0])
C.max(f[n-1][1], f[n-1][0])
D.min(f[n-1][1], f[n-1][0])
问卷星提供技术支持
举报