2021年信息学奥赛CSP-S1提高组初赛真题试卷
剩余时间 --:--:--
单选题 共 33 题
1.

在 Linux系统终端中,用于列出当前目录下所含的文件和子目录的命令为(  )。

2.

设一个三位数n=abc———abc均为 19之间的整数,若以 a、 b、 c作为三角形的三条边可以构成等腰三角形(包括等边),则这样的 n有(  )个。

3.

有 8个苹果从左到右排成一排,你要从中挑选至少一个苹果,并且不能同时挑选相邻的两个苹果,一共有(  )种方案。

4.

斐波那契数列的定义为:F1=1F2=1Fn=Fn-1+Fn-2 (n>=3)。现在用如下程序来计算斐波那契数列的第 n项,其时间复杂度为( )。

F(n):

if n<=2 return 1

else return F(n-1) + F(n-2)

5.

有如下递归代码

solve(t, n):
if t=1 
    return 1
else 
    return 5*solve(t 1,n) mod n

则 solve(23,23)的结果为(  )。

6.

定义一种字符串操作为交换相邻两个字符。将“DACFEB”变为 “ABCDEF”最少需要(  )次上述操作。

7.

前序遍历和中序遍历相同的二叉树为且仅为(  )。

8.

令根结点的高度为 1,则一棵含有 2021个结点的二叉树的高度至少为(  )。

9.

G是一个非连通简单无向图(没有自环和重边),共有 36条边,则该图至少有(  )个点。

10.

现有一个地址区间为 010的哈希表,对于出现冲突情况,会往后找第一个空的地址存储(到 10冲突了就从 0开始往后),现在要依次存储(01234567),哈希函数为 h(x)=x2mod11。请问 7存储在哈希表哪个地址中(  )。

11.

以比较为基本运算,对于 2n个数,同时找到最大值和最小值,最坏情况下需要的最小的比较次数为(  )。

12.

以下排序方法中,(  )是不稳定的。

13.

在程序运行过程中,如果递归调用的层数过多,可能会由于(  )引发错误。

14.

二进制数 001010102和 000101102的和为(  )。

15.

有如下的有向图,节点为 AB, … , J, 其中每条边的长度都标在图中。则节点 A到节点 J的最短路径长度为( )。

16.

当输入为“1 1 1 1 1 1 1 2”时,输出为(  )。

17.

这段代码的含义为(  )。

18.

solve1(1n) 的时间复杂度为(  )。

19.

solve2(1n) 的时间复杂度为(  )。

20.

当输入为“10 -3 2 10 0 -8 9 -4 -5 9 4”时,输出的第一行为(  

21.

设输入字符串长度为 nencode函数的时间复杂度为(  )。

22.

输出的第一行为(  )。

23.

当输入为“0CSP2021csp”时,输出的第二行为()。

24.

①处应填(  

25.

②处应填(  

26.

③处应填(  

27.

④处应填(  

28.
①处应填(  )
29.
②处应填(  )
30.
③处应填( )
31.
④处应填(  )
32.
⑤处应填(  )
33.
⑥处应填(  )
判断题 共 10 题
1.

将第21行中t的类型声明从 int改为 double不会影响程序运行的结果。(  )

2.

将第 2627行中的“/ sqrt(t) / 2”替换为“/ 2 / sqrt(t)”,不会影响程序运行的结果。(  )

3.

将第 28行中的“x * x”改成“sq(x)”、“y * y”改成“sq(y)” ,不会影响程序运行的结果。(  )

4.

当输入为“0 0 0 1 1 0 0 1”时,输出为“1.3090”。(  )

5.

程序总是会正常执行并输出两行两个相等的数。(  )

6.

第 28行与第 38行分别有可能执行两次及以上。(  )

7.

当输入为“5-1011-95-7”时,输出的第二行为“7”。(  )

8.

程序总是先输出一行一个整数,再输出一行一个字符串。(  )

9.

对于任意不含空白字符的字符串 str1,先执行程序输入“0str1”,得到输出的第二行记为 str2;再执行程序输入“1str2”,输出的第二行必为 str1。(  )

10.

当输入为“1SGVsbG93b3JsZA==”时,输出的第二行为“HelloWorld”。(  

C++ 编辑器
输入
输出