László Babai 是一位匈牙利计算机科学家和数学家。他是哥德尔奖得主,也是计算理论、算法、组合数学和群论领域的杰出研究者。去年,他提出了一种在 $\exp((\log n)^{O(1)})$ 时间内解决图同构问题的亚指数时间算法,而此前最好的结果是 $\exp(O(\sqrt{n \log n}))$ 时间的算法。
图同构是理论计算机科学中一个著名的 $NP$ 问题,不过你可能想知道它是什么。让我们简单解释一下。给定两个无向图 $A = (V_A, E_A)$ 和 $B = (V_B, E_B)$,其中 $A$ 的顶点集为 $V_A = \{a_1, a_2, a_3, \dots, a_{n_A}\}$,$B$ 的顶点集为 $V_B = \{b_1, b_2, b_3, \dots, b_{n_B}\}$。图 $A$ 和 $B$ 同构当且仅当:
- $A$ 和 $B$ 拥有相同数量的顶点和边。
- 存在一个双射(一一对应且满射)函数 $f : V_A \to V_B$,使得 $\{u, v\} \in E_A$ 当且仅当 $\{f(u), f(v)\} \in E_B$。
换句话说,我们可以通过重命名图 $A$ 的顶点集来得到图 $B$。
图同构问题目前既不确定是否属于 $P$,也不确定是否为 $NP$-完全问题。作为有前途的计算机科学家,我们必须有雄心壮志,永远不要害怕拥有远大的梦想!因此,让我们接受挑战,测试两个 3 顶点的无向简单图 $G_1$ 和 $G_2$ 是否同构,并向世界展示我们也能有所成就。
输入格式
输入的第一行是一个整数 $T$ ($T \le 100$),表示接下来的测试用例数量。
每个测试用例首先给出第一个 3 顶点(编号为 1 到 3)无向简单图的边数 $m$ ($0 \le m \le 3$),随后是 $m$ 行,每行包含两个不同的整数 $u, v$ ($u \neq v, u, v \in \{1, 2, 3\}$),表示顶点 $u$ 和 $v$ 之间存在一条边。你可以假设任意一对顶点之间最多只有一条边。之后以相同的格式给出第二个图的描述。
输出格式
如果两个图同构,则输出一行 “yes”。否则,输出 “no”。
样例
输入 1
3 3 1 2 2 3 3 1 3 1 3 2 1 3 2 2 1 2 1 3 0 1 2 3 1 1 2
输出 1
yes no yes