#YH1017. 三序遍历

0

三序遍历

题目背景

有一天亮亮学长在刷题,发现市面上的二叉树三序遍历题太朴素了,于是想了一道并不朴素的朴素的二叉树遍历。

说明

先给你一棵二叉树,然后给你 mm 条操作。

每种操作规定如下:
给你一个整数 uu 和一个参数 xx 要求你输出以 uu 号节点为根的子树的参数为 xx 的遍历

对于参数 xx11 为先序遍历,22 为中序遍历,33 为后续遍历。

输入格式

第一行一个整数 nn 表示该二叉树一共有 nn 个节点。

接下来 nn 行,每行两个整数,第 ii 代表第 ii 号节点的左右孩子的节点编号,特别的,若编号为 00 ,则代表该孩子为空。

然后给一个整数 mm,代表操作条数。

接下来 mm 行,每行两个整数 u,xu,x,代表子树头结点编号和操作参数。

输出格式

对于每个操作,按要求输出对应遍历次序,每个操作的输出在一行内,不同操作输出在不同行。

样例

5
2 3
4 5
0 0
0 0
0 0
2
1 1
2 3
1 2 4 5 3
4 5 2

数据范围

1n1051\le n\le 10^5
1m1051\le m\le 10^5 定义 u|u| 为以 uu 号节点为头的子树的节点数量,保证i=1mui5×105\sum_{i=1}^{m}|u_i|\le 5\times10^5