现代的人对于本家族血统越来越感兴趣。 题目描述 给出充足的父子关系,请你编写程c++
时间: 2024-06-11 17:10:19 浏览: 48
序,实现以下功能:
1. 查询某个人的祖先(父亲、爷爷、曾祖父等);
2. 查询某个人的后代(儿子、孙子、曾孙等);
3. 查询某个人的兄弟姐妹;
4. 查询某个人的堂兄弟堂姐妹;
5. 查询某个人的表兄弟表姐妹。
输入格式:
第一行包含两个整数 n 和 m,表示家族成员数量和查询次数。
接下来 n 行,每行包含一个字符串和一个整数,表示家族成员的姓名和父亲的编号。其中父亲的编号为 -1 表示该成员是家族的根节点。
接下来 m 行,每行包含一个查询操作和一个人的姓名。查询操作包括 ANCESTORS(查询祖先)、DESCENDANTS(查询后代)、SIBLINGS(查询兄弟姐妹)、COUSINS(查询堂兄弟堂姐妹)和 SECOND_COUSINS(查询表兄弟表姐妹)。
输出格式:
对于每次查询,输出查询结果,每个结果占一行,形式为“姓名1 姓名2 ...”,表示查询到的人的姓名列表,按照字典序从小到大排序。如果查询结果为空,则输出 -。
数据范围:
1 ≤ n,m ≤ 1000
1 ≤ 姓名长度 ≤ 10
输入样例:
10 6
A 1
B 2
C 2
D 3
E 3
F 4
G 4
H 5
I 5
J -1
ANCESTORS B
DESCENDANTS 3
SIBLINGS E
COUSINS B
SECOND_COUSINS A
输出样例:
A J
D E F G
C E
A D E F G
C H I
相关问题
p1827 美国血统c++
引用中的代码是关于解决题目 "p1827 美国血统" 的。这道题目是关于树的遍历,要求根据给定的前序遍历序列和中序遍历序列,输出后序遍历序列。其中,前序遍历序列是指先访问根节点,再遍历左子树,最后遍历右子树;中序遍历序列是指先遍历左子树,再访问根节点,最后遍历右子树;后序遍历序列是指先遍历左子树,再遍历右子树,最后访问根节点。
在引用中的代码中,dfs函数用于递归遍历树的节点。首先判断是否超出范围,然后查找根节点在中序遍历序列中的位置,再递归遍历左子树和右子树,并输出当前节点。
在引用中的代码中,work函数用于递归构建树并输出后序遍历序列。先取出前序序列的第一个字符作为根节点,然后根据根节点在中序序列中的位置进行切割,分别递归构建左子树和右子树,最后输出当前根节点。
另外,引用中的代码给出了一些字符串操作函数的使用方法,包括查找和删除。
看漫画学习c++语言
看漫画来学习C++语言可能会是一种轻松有趣的辅助方式,特别是对于初学者来说,如果漫画能结合故事场景和视觉元素来解释编程概念。例如,漫画可以展示如何通过类比现实世界的物体(比如角色、道具)来理解对象、封装、继承等基本概念:
1. **对象和类**:你可以将主角视为一个类,它的属性(如身高、力量)和行为(移动、攻击)作为成员变量和函数。
2. **构造函数和析构函数**:漫画可以描绘角色是如何"出生"(构造)并最终"消失"(析构)的过程,解释这两个特殊生命周期的概念。
3. **继承和派生**:像漫画中角色间的血统关系,可以用来说明继承机制,一个角色继承自父母的部分特性。
4. **多态**:通过不同类型的武器使用,展示方法重载(多种攻击方式)和方法重写(同名动作在不同角色上效果不同)。
然而,漫画并不能替代系统的学习资源,因为C++是一门严谨的编程语言,需要掌握语法、数据结构、控制流程等基础知识。为了深入理解和实践C++,还是建议配合教材、教程和编写实际的代码项目练习。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)