2024年9月青少年软件编程(C语言/C++)等级考试试卷(七级)

青少年软件编程(C 语言) 等级考试试卷(七级)

1、 模拟树遍历

二叉树的中序遍历可以借助一个堆栈来用非递归的方式实现。例如,对一棵有 6 个结

点的二叉树(结点键值从 1 到 6) 进行遍历,堆栈操作为: push(1 ); push(2); push(3);

pop(); pop(); push(4); pop(); pop(); push(5); push(6); pop(); pop() ------ 其中 push 为

入栈,pop 为出栈。则这套操作对应了一棵唯一的二叉树,如下图所示。

你的任务是输出这棵树的后序遍历序列。

时间限制: 1 000

内存限制: 2621 44

输入

输入第一行给出一个正整数 N(≤ 30) ,是二叉树中结点的个数(结点键值从 1 到 N)。

随后 2N 行,每行给出一个堆栈操作: `Push X` 表示将键值为 `X` 的结点入栈,`Pop`

表示将一个结点出栈。

输出

在一行中输出该树后序遍历的序列。数字间以 1 个空格分隔,行首尾不得有多余空格。

裁判保证输入数据一定对应了一棵树。

样例输入

6

Push 1

Push 2

Push 3

Pop

Pop

Push 4

Pop

Pop

Push 5

Push 6

Pop

Pop

样例输出

3 4 2 6 5 1

2、 寻宝图

给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏

有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有

多少岛屿,其中有多少是有宝藏的岛屿。

时间限制: 1 000

内存限制: 2621 44

输入

输入第一行给出 2 个正整数 N 和 M(1 < N × M ≤ 1 0 5 ) ,是地图的尺寸,表示地图

由 N 行 M 列格子构成。随后 N 行,每行给出 M 位个位数,其中 `0` 表示水域,`1 `

表示陆地,`2`-`9` 表示宝藏。注意: 两个格子共享一条边时,才是"相邻"的。默认地

图外围全是水域。

输出

在一行中输出 2 个整数,分别是岛屿的总数量和有宝藏的岛屿的数量。

样例输入

10 11

01000000151

11000000111

00110000811

00110100010

00000000000

00000111000

00114111000

00110010000

00019000010

00120000001

================================================

答案和更多内容请查看网站:【试卷中心 -- C/C++编程 五级/六级/其它】

网站链接

青少年软件编程历年真题模拟题实时更新

================================================

相关推荐
明月看潮生1 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 15课题、备份与还原
数据库·青少年编程·postgresql·编程与数学
明月看潮生1 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 14课题、触发器的编写
数据库·青少年编程·postgresql·编程与数学
数据小爬虫@2 小时前
深入解析:使用 Python 爬虫获取苏宁商品详情
开发语言·爬虫·python
健胃消食片片片片2 小时前
Python爬虫技术:高效数据收集与深度挖掘
开发语言·爬虫·python
王老师青少年编程3 小时前
gesp(C++五级)(14)洛谷:B4071:[GESP202412 五级] 武器强化
开发语言·c++·算法·gesp·csp·信奥赛
DogDaoDao3 小时前
leetcode 面试经典 150 题:有效的括号
c++·算法·leetcode·面试··stack·有效的括号
Coovally AI模型快速验证4 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
一只小bit4 小时前
C++之初识模版
开发语言·c++
王磊鑫4 小时前
C语言小项目——通讯录
c语言·开发语言
钢铁男儿5 小时前
C# 委托和事件(事件)
开发语言·c#