SP7826 TREEISO - Tree Isomorphism

题目描述

给定两棵包含 $n$ 个结点的树,请判断它们是否同构。 对于两棵无根树 $T_1(V_1,E_1)$ 和 $T_2(V_2,E_2)$,如果存在一个双射 $\varphi:V_1\to V_2$,使得 $$\forall u,v\in V_1,(u,v)\in E_1 \Leftrightarrow (\varphi(u),\varphi(v)) \in E_2$$ 成立,那么称无根树 $T_1(V_1,E_1)$ 和 $T_2(V_2,E_2)$ 同构。 简单的说就是,如果能够通过把树 $T_1$ 的所有节点重新标号,使得树 $T_1$ 和树 $T_2$ **完全相同**,那么称这两棵树同构。

输入格式

第一行,一个正整数 $T$,表示数据组数($1 \le T \le 400$)。 对于每组数据,第一行一个正整数 $n$。 接下来 $n-1$ 行,每行两个整数 $u,v$,描述树 $T_1$ 的一条边 $(u,v)$。 接下来 $n-1$ 行,每行两个整数 $u,v$,描述树 $T_2$ 的一条边 $(u,v)$。 保证 $\sum n \le 100,000$。

输出格式

$T$ 行,每行一个 `YES` 或 `NO`,表示答案。