试卷 2022年9月青少年软件编程C语言等级考试试卷(七级)真题
2022年9月青少年软件编程C语言等级考试试卷(七级)真题
编程题
第 1 题    问答题

C语言等级考试七级真题:二叉树的深度。

给定一棵二叉树,求该二叉树的深度

二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的节点个数为树的深度

 

时间限制:1000

内存限制:65535

 

输入

第一行是一个整数n,表示二叉树的结点个数。二叉树结点编号从1n,根结点为1n <= 10 接下来有n行,依次对应二叉树的n个节点。 每行有两个整数,分别表示该节点的左儿子和右儿子的节点编号。如果第一个(第二个)数为-1则表示没有左(右)儿子

 

输出

输出一个整型数,表示树的深度

 

样例输入

3

2 3

-1 -1

-1 -1

 

样例输出

2

第 2 题    问答题

C语言等级考试真题迷宫。

一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(#),则看成无法办到。

 

时间限制:3000

内存限制:65536

 

输入

1行是测试数据的组数k,后面跟着k组输入。每组测试数据的第1行是一个正整数n (1 <= n <= 100),表示迷宫的规模是n * n的。接下来是一个n * n的矩阵,矩阵中的元素为.或者#。再接下来一行是4个整数ha, la, hb, lb,描述A处在第hala列,B处在第hblb列。注意到ha, la, hb, lb全部是从0开始计数的。

 

输出

k行,每行输出对应一个输入。能办到则输出“YES”,否则输出“NO”。

 

样例输入

2

3

.##

#

#

0 0 2 2

5

###.#

#

###

#.

0 0 4 0

 

样例输出

YES

NO

第 3 题    问答题

C语言等级考试七级真题:Sequence。

给定m个数字序列,每个序列包含n个非负整数。我们从每一个序列中选取一个数字组成一个新的序列,显然一共可以构造出n^m个新序列。接下来我们对每一个新的序列中的数字进行求和,一共会得到n ^m个和,请找出最小的n个和

时间限制:3000

内存限制:65536

 

输入

输入的第一行是一个整数T,表示测试用例的数量,接下来是T个测试用例的输入 每个测试用例输入的第一行是两个正整数m0 < m <= 100)和n(0 < n <= 2000),然后有m行,每行有n个数,数字之间用空格分开,表示这m个序列 序列中的数字不会大于10000

 

输出

对每组测试用例,输出一行用空格隔开的数,表示最小的n个和

 

样例输入

1

2 3

1 2 3

2 2 3

 

样例输出

3 3 4

第 4 题    问答题

青少年C语言等级考试七级真题:priority queue练习题。

我们定义一个正整数a比正整数b优先的含义是:a的质因数数目(不包括自身)比b的质因数数目多;当两者质因数数目相等时,数值较大者优先级高。现在给定一个容器,初始元素数目为0,之后每次往里面添加10个元素,每次添加之后,要求输出优先级最高与最低的元素,并把该两元素从容器中删除。

 

时间限制:2500

内存限制:131072

 

输入

第一行: num (添加元素次数,num <= 30)

下面10*num行,每行一个正整数nn < 10000000).

 

输出

每次输入10个整数后,输出容器中优先级最高与最低的元素,两者用空格间隔。

 

样例输入

1

10 7 66 4 5 30 91 100 8 9

样例输出

66 5

答题卡
编程题
1 2 3 4
题目总数:4
总分数:100
时间:不限时