信奥刷题站
GESP 认证 7级2024-06

2024年6月 GESP C++ 7级

题量
27 题
客观题
25 题
建议时长
60 分钟
卷面总分
100 分

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

开始整卷模拟计时作答 · 交卷即时判分 · 错题自动进错题本(需登录)2 道编程大题:在线只判客观题,编程题请自行前往洛谷等 OJ 提交验证

// questions

题目预览

1
单选题2

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

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

000

B

111

C

0.50.50.5

D

0.70710.70710.7071

2
单选题2

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

A

先序遍历是 132132132

B

中序遍历是 123123123

C

后序遍历是 312312312

D

先序遍历和后序遍历正好是相反的。

3
单选题2

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

A

{3,5,7,8,1}\{3, 5, 7, 8, 1\}{3,5,7,8,1}

B

{3,4,5,7,8}\{3, 4, 5, 7, 8\}{3,4,5,7,8}

C

{5,7,8}\{5, 7, 8\}{5,7,8}

D

{3,5,7,9,1}\{3, 5, 7, 9, 1\}{3,5,7,9,1}

4
单选题2

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

A

{2,5,6,8,9}是它的最长上升⼦序列

B

{1,5,6,8,9}是它的最长上升⼦序列

C

{7,5,4,3}是它的最长下降⼦序列

D

{1,5,6,8,9}是它的唯一最长上升⼦序列

5
单选题2

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

A

二叉树也是一种图。

B

二叉树的前序遍历和后序遍历都是深度优先搜索的一种。

C

深度优先搜索可以从任意根节点开始。

D

二叉树的后序遍历也是广度优先搜索的一种。

6
单选题2

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

A

HDEBFIGCA 不是它的后序遍历序列

B

ABCDEFGHI 是它的广度优先遍历序列

C

ABDHECFGI 是它的深度优先遍历序列

D

ABDHECFGI 是它的先序遍历序列

7
单选题2

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

A

丢弃发生冲突的新元素。

B

在每个哈希表项处,使用不同的哈希函数再建立一个哈希表,管理该表项的冲突元素。

C

在每个哈希表项处,建立二叉排序树,管理该表项的冲突元素。

D

使用不同的哈希函数建立额外的哈希表,用来管理所有发生冲突的元素。

8
单选题2

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

A

2 & 3 的结果是 true

B

011 & 111 的结果是 333

C

3 & 6 的结果是 222

D

110 & 101 的结果是 444

9
单选题2

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

A

在无向图中,环是指至少包含三个不同顶点,并且第一个顶点和最后一个顶点是相同的路径。

B

在有向图中,环是指一个顶点经过至少另一个顶点到自身的路径。

C

在有向图中,如果任意两个顶点之间都存在一条边,则这个图一定是强连通图。

D

在有向图中,所有顶点的入度和出度的总和就是图的边数的两倍。

10
单选题2

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

A

图的深度优先搜索和广度优先搜索对有向图和无向图都适用。

B

图的深度优先搜索和二叉树的先序遍历道理是不一样的。

C

图的深度优先搜索需要借助栈来完成。

D

邻接表中,顶点对应链表中的边结点数目正好是顶点的度。

11
单选题2

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

A
B
C
D
12
单选题2

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

A
B
C
D
13
单选题2

下面程序的输出为( )。

#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;
}
A

555

B

888

C

131313

D

无法正常结束。

14
单选题2

下面 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;
}
A
B
C
D
15
单选题2

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

A

111, 333, 777, 555, 444, 222, 666, 888, 999

B

999, 444, 222, 111, 333, 555, 777, 666, 888

C

111, 333, 444, 222, 777, 666, 888, 999, 555

D

999, 777, 666, 888, 444, 222, 111, 555, 333

16
判断题2

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

17
判断题2

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

18
判断题2

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

19
判断题2

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

20
判断题2

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

21
判断题2

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

22
判断题2

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

23
判断题2

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

24
判断题2

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

25
判断题2

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

GESP 编程操作题
26
编程题25

试题名称:黑白翻转

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

题目描述

小杨有一棵包含 nnn 个节点的树,这棵树上的任意一个节点要么是白色,要么是黑色。小杨认为一棵树是美丽树当且仅当在删除所有白色节点之后,剩余节点仍然组成一棵树。

小杨每次操作可以选择一个白色节点将它的颜色变为黑色,他想知道自己最少要执行多少次操作可以使得这棵树变为美丽树。

输入格式

第一行包含一个正整数 nnn,代表树的节点数。

第二行包含 nnn 个非负整数 a1,a2,…,ana_1,a_2,\ldots,a_na1,a2,,an,其中如果 ai=0a_i=0ai=0,则节点 iii 的颜色为白色,否则为黑色。

之后 n−1n-1n1 行,每行包含两个正整数 xi,yix_i,y_ixi,yi,代表存在一条连接节点 xix_ixiyiy_iyi 的边。

输出格式

输出一个整数,代表最少执行的操作次数。

样例输入 #1

5
0 1 0 1 0
1 2
1 3
3 4
3 5

样例输出 #1

2

说明/提示

样例解释

将节点 111333 变为黑色即可使这棵树变为美丽树,此时删除白色节点 555,剩余黑色节点仍然组成一棵树。

数据范围

子任务编号 数据点占比 nnn aia_iai 特殊条件
111 30%30\%30% ≤105\leq 10^5105 0≤ai≤10\leq a_i\leq 10ai1 树的形态为一条链
222 30%30\%30% ≤105\leq 10^5105 0≤ai≤10\leq a_i\leq 10ai1 只有两个节点颜色为黑色
333 40%40\%40% ≤105\leq 10^5105 0≤ai≤10\leq a_i\leq 10ai1

对于全部数据,保证有 1≤n≤1051\leq n\leq 10^51n1050≤ai≤10\leq a_i\leq 10ai1

本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)
27
编程题25

试题名称:区间乘积

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

题目描述

小杨有一个包含 nnn 个正整数的序列 A=[a1,a2,…,an]A=[a_1,a_2,\ldots,a_n]A=[a1,a2,,an]

小杨想知道有多少对 ⟨l,r⟩(1≤l≤r≤n)\langle l,r\rangle(1\leq l\leq r\leq n)l,r(1lrn) 满足 al×al+1×…×ara_l\times a_{l+1}\times\ldots\times a_ral×al+1××ar 为完全平方数。

一个正整数 xxx 为完全平方数当且仅当存在一个正整数 yyy 使得 x=y×yx=y\times yx=y×y

输入格式

第一行包含一个正整数 nnn,代表正整数个数。

第二行包含 nnn 个正整数 aia_iai,代表序列 AAA

输出格式

输出一个整数,代表满足要求的 ⟨l,r⟩\langle l,r\ranglel,r 数量。

样例输入 #1

5
3 2 4 3 2

样例输出 #1

2

说明/提示

样例解释

满足条件的 ⟨l,r⟩\langle l,r\ranglel,r⟨1,5⟩\langle 1,5\rangle1,5⟨3,3⟩\langle 3,3\rangle3,3

数据范围

子任务编号 数据点占比 nnn aia_iai
111 20%20\%20% ≤105\leq 10^5105 1≤ai≤21\leq a_i\leq 21ai2
222 40%40\%40% ≤100\leq 100100 1≤ai≤301\leq a_i\leq 301ai30
333 40%40\%40% ≤105\leq 10^5105 1≤ai≤301\leq a_i\leq 301ai30
本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)