#agc027f. [agc027_f]Grafting

[agc027_f]Grafting

问题描述

Snuke发现了两棵树AABB,每棵树都有NN个顶点,编号从11NNAA的第ii条边连接了顶点aia_ibib_iBB的第jj条边连接了顶点cjc_jdjd_j。此外,AA的所有顶点最初都被涂成白色。

Snuke希望在AA上执行以下操作零次或多次,使得AABB重合:

  • 选择一个被涂成白色的叶子顶点(设为vv)。
  • 删除与vv 相接触的边,并添加一条连接vv与另一个顶点的新边。
  • vv涂成黑色。

判断AA是否能够与BB重合,不考虑颜色。如果可以,请找出所需的最小操作次数。

输入包括TT个这样的问题实例。对每个实例求解。

约束条件

  • 1leqTleq201 \\leq T \\leq 20
  • 3leqNleq503 \\leq N \\leq 50
  • 1leqai,bi,ci,dileqN1 \\leq a_i,b_i,c_i,d_i \\leq N
  • 所给图均为树。

输入

从标准输入读取输入数据,输入格式如下:

TT case1case_1 :: caseTcase_{T}

每个问题实例的输入格式如下:

NN a1a_1 b1b_1 :: aN1a_{N-1} bN1b_{N-1} c1c_1 d1d_1 :: cN1c_{N-1} dN1d_{N-1}

输出

对于每个问题实例,如果AA可以与BB重合(不考虑颜色),则输出所需的最小操作次数;如果不能,则输出-1

示例输入1

2
3
1 2
2 3
1 3
3 2
6
1 2
2 3
3 4
4 5
5 6
1 2
2 4
4 3
3 5
5 6

示例输出1

1
-1
  • 每个问题实例的图示如下。
  • 在第一个问题实例中,可以通过选择顶点11,删除连接1122的边,并添加连接1133的边,使得AABB重合。请注意,顶点22不是叶子顶点,因此无法选择。
  • 在第二个问题实例中,AA无法与BB重合。

3f020b4a4e883680357cc55adb571fbc.png

示例输入2

3
8
2 7
4 8
8 6
7 1
7 3
5 7
7 8
4 2
5 2
1 2
8 1
3 2
2 6
2 7
4
1 2
2 3
3 4
3 4
2 1
3 2
9
5 3
4 3
9 3
6 8
2 3
1 3
3 8
1 7
4 1
2 8
9 6
3 6
3 5
1 8
9 7
1 6

示例输出2

6
0
7
  • AA可以从一开始就与BB重合。