T791982 【P1106】 - 查找树中的节点

题目描述

给定一棵树,树中的节点是一个字符,由大写字母字符组成的,树的节点数据可以重复出现,比如下面的一棵树: ![](https://cdn.luogu.com.cn/upload/image_hosting/dvebo5zn.png) 现在请你编写个程序去输出这棵树的先根遍历、后根遍历、树的高度、以及查找出树中指定的元素`x`出现的次数和第一次出现的位置 输入样例的数据对应的就是图示中的树

输入格式

输入的第一行包含一个整数 n,表示树的节点数。 接下来的 n 行中,每行提供一个节点 u 的信息,格式如下: `seq data parent` 其中 seq 是节点 u 的 序号(序号从1开始,从上往下,从左往右依次编号,每个节点的seq唯一不变) data 是节点 u 的值域 parent为节点 u 的父节点的seq序号 接下来一行,待查找的字符`x` 注意:输入的第1个节点不一定是树的根节点信息

输出格式

第1行,树的先根遍历结果,每个值域使用一个空格分隔 第2行,树的后根遍历结果,每个值域使用一个空格分隔 第3行,树的高度(根节点的高度、层次号为1) 第4行,待查找的字符`x`在这棵树中出现的总次数 第5行,待查找的字符`x`在这棵树中第一次出现的位置信息:该节点的的序号和该节点所在的层次号,使用空格分隔,如果找不到,输出`-1 -1` 节点在树中第一次出现的定义:从上往下,从左往右第一次找到的该节点 根节点的高度、层次号为1

说明/提示

100%的数据:$1 \le n \le 20$,树的节点中的值域为大写字母