UOJ Logo Universal Online Judge

UOJ

统计
e3TFOJ.jpg

Background

"They serve the purpose of changing hydrogen into breathable oxygen, and they're as necessary here as the air is, on Earth.”
"But I still say…they're flowers.”
"If you like."
"Do you sell them?"
"I'm afraid not."
"But, maybe we could make a deal."

Statements

有两棵$n$个节点的有根树,不妨设两棵树分别为$T_1$和$T_2$,两棵树的节点的编号都是从$1$到$n$,根节点都是$1$。

考虑以下操作:

1、在$T_1$上标记一条给定的边;

2、在$T_2$上找到所有的未被标记的边$(x,y)$满足树$T_1$的路径$(x,y)$上存在边被标记,并标记它们;

3、在$T_1$上找到所有的未被标记的边$(x,y)$满足树$T_2$的路径$(x,y)$上存在边被标记,并标记它们;

4、如果$T_1$和$T_2$的所有边都被标记或者在之前一次2,3操作中没有边被标记,则结束操作,否则回到操作2。

定义进行一次2,3,4操作称为操作一轮,不难发现上述操作一定会在有限轮结束。你需要求出$T_1$和$T_2$上的每条边会在哪一轮被标记。我们认为初始$T_1$上给定的边在第$0$轮被标记,在上述过程中没有被标记的边则在$123456789$轮被标记

Input Format

第一行一个正整数$n$表示两棵树的节点数。

接下来$n-1$行每行两个正整数$u,v$描述$T_1$上的一条边。

接下来$n-1$行每行两个正整数$u,v$描述$T_2$上的一条边。

接下来一行一个正整数$p$表示第$0$轮被标记的边是树$T_1$按照输入顺序排列的第$k$条边。

Output Format

输出两行。

第一行输出$n-1$个非负整数,第$i$个数表示树$T_1$上按照输入顺序排列的第$i$条边被标记的轮数;

第二行输出$n-1$个非负整数,第$i$个数表示树$T_2$上按照输入顺序排列的第$i$条边被标记的轮数。

Sample

Sample Input 1

3
1 2
2 3
1 3
3 2
1

Sample Output 1

0 123456789
1 123456789

Sample Input 2

4
1 2
1 3
2 4
1 4
4 3
3 2
2

Sample Output 2

1 0 1
2 1 1

Explanation

对于第一组样例数据,不难发现两棵树上的$(2,3)$边永远不会被标记。

Down

在选手文件中共下发了$3$个样例文件。对于第二组样例数据满足特殊性质$A$,对于第三组样例数据满足特殊性质$B$。

Constraint

测试点编号$n \leq$特殊性质
$1 \sim 2$$300$
$3 \sim 6$ $2000$
$7 \sim 10$ $7000$
$11 \sim 13$ $2 \times 10^5$ $A$
$14 \sim 16$ $2 \times 10^5$ $B$
$17 \sim 20$ $10^5$
$21 \sim 25$ $2 \times 10^5$

特殊性质$A$满足:树$T_1$和$T_2$的高度不超过$20$。

特殊性质$B$满足:树$T_1$中,对于$\forall i \in [1,n-1]$,$i$与$i+1$有一条边。

对于$100 \%$的测试数据,满足$2 \leq n \leq 2 \times 10^5 , 1 \leq u , v \leq n , 1 \leq p \leq n - 1$,输入一定合法。

时间限制:$4s$

空间限制:$512MB$

下发文件下载