选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

500 | 202403GESP C++八级试卷-练习
选择题 共15道
01

为丰富食堂菜谱,炒菜部进行头脑风暴。肉类有鸡肉、牛肉、羊肉、猪肉4种,切法有肉排、肉块、肉末3种,配菜有圆白菜、油菜、豆腐3种,辣度有麻辣、微辣、不辣3种。不考虑口感的情况下,选1种肉、1种切法、1种配菜、1种辣度产生一道菜(例如:麻辣牛肉片炒豆腐),这样能产生多少道菜?( )。

2分
登录后查看选项
02

已知袋中有2个相同的红球、3个相同的绿球、5个相同的黄球。每次取出一个不放回,全部取出。可能产生多少种序列?( )。

2分
登录后查看选项
03

以下二维数组的初始化,哪个是符合语法的?( )。

2分
登录后查看选项
04

下面有关C++拷贝构造函数的说法,错误的是( )。

2分
登录后查看选项
05

使用邻接表表达一个无向简单图,图中包含 v 个顶点、 e 条边,则该表中边节点的个数为( )。

2分
登录后查看选项
06

关于生成树的说法,错误的是( )。

2分
登录后查看选项
07

已知三个 double 类型的变量 a 、 b 和 theta 分别表示一个三角形的两条边长及二者的夹角(弧度),则下列哪个表达式可以计算这个三角形的周长?( )。

2分
登录后查看选项
08

在有 n 个元素的二叉排序树中进行查找,其最好、最差时间复杂度分别为( )。

2分
登录后查看选项
09

如下图所示,半径为 r 、圆心角为 t (弧度)的扇形,下面哪个表达式能够求出顶部阴影部分的面积?()。

e8690efc-1132-498d-8dba-9157edeb97a4.jpg

2分
登录后查看选项
10

下面程序的时间复杂度为( )。

6.png

2分
登录后查看选项
11

下面程序的时间复杂度为( )。

9.png

2分
登录后查看选项
12

下面程序的时间复杂度为( )。

14.png

2分
登录后查看选项
13

下面程序的输出为( )。

18.png

2分
登录后查看选项
14

下面程序的输出为( )。

19.png

2分
登录后查看选项
15

下面的程序使用邻接矩阵表达的带权无向图,则从顶点0到顶点3的最短距离为( )。

2分
登录后查看选项
判断题 共10道
16

已知 int 类型的变量 a 和 b ,则执行语句 a, b = b, a; 后,变量 a 和 b 的值会互换。

2分
登录后查看选项
17

一个袋子中有3个完全相同的红色小球、2个完全相同的蓝色小球。每次从中取出1个,再放回袋子,这样进行3次后,可能的颜色顺序有7种。

2分
登录后查看选项
18

孙子定理是求解一次同余方程组的方法,最早见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》。又称中国余数定理,是中国数学史上的一项伟大成就。

2分
登录后查看选项
19

N个顶点的无向完全图有N×(N-1) 条边。

2分
登录后查看选项
20

为解决哈希函数冲突,在哈希表项内设置链表存储该项内的所有冲突元素,则该哈希表内查找元素的最差时间复杂度为 O(1)。

2分
登录后查看选项
21

求一个包含 v 个顶点、 e 条边的带权连通无向图的最小生成树,Prim算法的时间复杂度为O(v× e) 。

2分
登录后查看选项
22

已知 int 类型的变量 a 、 b 和 c 中分别存储着一个三角形的三条边长,则这个三角形的面积可以通过表达式 sqrt((a + b + c) * (b + c - a) * (a + c - b) * (a + b - c)) / 4 求得。

2分
登录后查看选项
23

可以使用深度优先搜索算法判断图的连通性。

2分
登录后查看选项
24

在N 个元素的二叉排序树中查找一个元素,平均情况的时间复杂度是O(logN) 。

2分
登录后查看选项
25

给定 double 类型的变量 x ,且其值大于等于1 ,我们可以通过二分法求出 logx的近似值。

2分
登录后查看选项
编程题 共2道
26

公倍数问题


问题描述

小A写了一个N×M的矩阵A,我们看不到这个矩阵,但我们可以知道,其中第i行第j列的元素Ai,j是i和j的公倍数(i=1,....,N,j=1,...,M)。现在有K个小朋友,其中第k个小朋友想知道,矩阵A中最多有多少个元素可以是k(k=1,2,...,K)。请你帮助这些小朋友求解。

注意:

每位小朋友的答案互不相关,例如,有些位置既可能是x,又可能是y,则它同时可以满足x,x两名小朋友的要求。

方便起见,你只需要输出即可,其中表示第k名小朋友感兴趣的答案。


输入描述

输出一行,即

请注意,这个数可能很大,使用C++ 语言的选手请酌情使用 long long 等数据类型存储答案。


特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

样例输出 1

样例解释 1

只有 A1,1可以是 1,其余都不行。

A1,1,A1,2,A2,1,A2,2都可以是2 ,而其余不行。

因此答案是1 ×1+2×4=9。


样例输入 2

样例输出 2

数据规模

25分
登录后作答
27

接竹竿


题面描述

小杨同学想用卡牌玩一种叫做“接竹竿”的游戏。

游戏规则是:每张牌上有一个点数 v,将给定的牌依次放入一列牌的末端。若放入之前这列牌中已有与这张牌点数相同的牌,则小杨同学会将这张牌和点数相同的牌之间的所有牌全部取出队列(包括这两张牌本身)。

小杨同学现在有一个长度为n 的卡牌序列A ,其中每张牌的点数为 Ai(1≤i≤n )。小杨同学有q 次询问。第i 次(1≤i≤q )询问时,小杨同学会给出li,ri ,小杨同学想知道如果用下标在[li,ri ] 的所有卡牌按照下标顺序玩“接竹竿”的游戏,最后队列中剩余的牌数。


输入格式

第一行包含一个正整数 ,表示测试数据组数。

对于每组测试数据,第一行包含一个正整数n ,表示卡牌序列A 的长度。

第二行包含 n个正整数 A1,A2,...,An,表示卡牌的点数 A。

第三行包含一个正整数q ,表示询问次数。

接下来q 行,每行两个正整数li,ri ,表示一组询问。


输出格式

对于每组数据,输出q 行。第i 行(1≤i≤q )输出一个非负整数,表示第i 次询问的答案。


样例1

样例解释

对于第一次询问,小杨同学会按照 1,2,2的顺序放置卡牌,在放置最后一张卡牌时,两张点数为 2的卡牌会被收走,因此最后队列中只剩余一张点数为 1的卡牌。

对于第二次询问,队列变化情况为:

。因此最后队列中只剩余一张点数为3 的卡牌。


数据范围

25分
登录后作答