Logo

2024年6月 GESP C++ 7级

GESP · 7级 · 2024-06

60:00
满分 100
时长 60 分钟
27

2024年6月 GESP C++ 7级认证考试真题(含编程操作题部分)

答题卡 已答 0/27
已答 正确 错误 编程题

单选题(共 15 题,每题 2 分)

1

下列C++代码的输出结果是( )。

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    cout << sin(3.1415926 / 2);
    return 0;
}
2

对于如下图的二叉树,说法正确的是( )。

3

已知两个序列s1={1,3,4,5,6,7,7,8,1}、s2={3,5,7,4,8,2,9,5,1},则它们的最长公共⼦序列是(
)。

4

关于序列{2,7,1,5,6,4,3,8,9},以下说法错误的是( )。

5

关于图的深度优先搜索和广度优先搜索,下列说法错误的是( )。

6

对于如下二叉树,下面访问顺序说法错误的是( )。

7

以下哪个方案不能合理解决或缓解哈希表冲突( )。

8

在C++中,关于运算符&,下面说法正确的是( )。

9

下面关于图的说法正确的是( )。

10

图的存储和遍历算法,下面说法错误的是( )。

11

如下图所⽰的邻接表结构,表⽰的是下列哪个选项中的图?

12

如下图所⽰的邻接矩阵(inf表⽰无穷大),表⽰的是下列哪个选项中的图?

13

下面程序的输出为( )。

#include <iostream>
using namespace std;
int fib(int n) {
    if (n <= 1)
    return n;
    return fib(n - 1) + fib(n - 2);
}
int main() {
    cout << fib(6) << endl;
    return 0;
}
14

下面count_triple函数的时间复杂度为( )。

int count_triple(int n) {
    int cnt = 0;
    for (int a = 1; a <= n; a++)
    for (int b = a; a + b <= n; b++) {
        int c = sqrt(a * a + b * b);
        if (a + b + c > n)
        break;
        if (a * a + b * b == c * c)
        cnt++;
    }
    return cnt;
}
15

下列选项中,哪个可能是下图的深度优先遍历序列( )。

判断题(共 10 题,每题 2 分)

16

C++语⾔中,表达式6 & 5的结果类型为int、值为1。

17

冒泡排序是稳定的排序算法。

18

唯一分解定理(算术基本定理)指出,每个大于1的自然数都可以唯一地分解成若⼲个素数的乘积。因此,
我们可以很容易的对给定的自然数n进行质因数分解,时间复杂度仅为 。

19

C++语⾔中,可以为同一个类定义多个构造函数。

20

使用math.h或cmath头文件中的对数函数,表达式log(128)的结果类型为double、值约为7.0。

21

一颗N层的二叉树,至少有 个节点。

22

非连通图不能使用广度优先搜索算法进行遍历。

23

现使用有N个表项的哈希表,从M个元素中进行查找。该哈希表为解决哈希函数冲突,为每个表项处建⽴单
链表存储冲突元素。其查找操作的最坏情况时间复杂度为 。

24

动态规划有递推实现和递归实现,对于很多问题,通过记录⼦问题的解,两种实现的时间复杂度是相同的。

25

泛洪算法的递归方法容易造成溢出,因此大的二维地图算法中,一般不用递归方法。

编程操作题(共 2 题,共 50 分)

26
编程操作题 25分

试题名称:⿊⽩翻转

时间限制:1.0 s | 内存限制:512.0 MB

输入格式

第⼀⾏包含⼀个正整数 ,代表树的节点数。
第⼆⾏包含 个⾮负整数 ,其中如果 ,则节点 的颜⾊为⽩⾊,否则为⿊⾊。
之后 ⾏,每⾏包含两个正整数 ,代表存在⼀条连接节点 和 的边。

输出格式

输出⼀个整数,代表最少执⾏的操作次数。
3.1.4 样例1
1 5
2 0 1 0 1 0
3 1 2
4 1 3
5 3 4
6 3 5
1 2

样例解释

将节点 和 变为⿊⾊即可使这棵树变为美丽树,此时删除⽩⾊节点 ,剩余⿊⾊节点仍然组成⼀棵树。

数据范围

子任务编号 数据点占比 特殊条件
1 30% 树的形态为⼀条链
2 30% 只有两个节点颜⾊为⿊⾊
3 40%
对于全部数据,保证有 , 。

27
编程操作题 25分

试题名称:区间乘积

时间限制:1.0 s | 内存限制:512.0 MB

输入格式

第⼀⾏包含⼀个正整数 ,代表正整数个数。
第⼆⾏包含 个正整数 ,代表序列 。

输出格式

输出⼀个整数,代表满⾜要求的 数量。
3.2.4 样例1
1 5
2 3 2 4 3 2
1 2

样例解释

满⾜条件的 有 和 。

数据范围

子任务编号 数据点占比
1 20%
2 40%
3 40%
对于全部数据,保证有 , 。

已答 0/27