atcoder#AGC027F. [AGC027F] Grafting

[AGC027F] Grafting

配点 : 19001900

問題文

すぬけ君は頂点に 11 から NN の番号がついた NN 頂点の木 A,BA,B を見つけました。 AAii 番目の辺は頂点 aia_ibib_i をつないでいます。 BBjj 番目の辺は頂点 cjc_jdjd_j をつないでいます。 全ての頂点ははじめ、白で塗られています。

すぬけ君は以下の操作を AA00 回以上行い、BB と一致するようにしたいです。

  • 白で塗られた11 つ選ぶ(これを vv とする)
  • vv に接続された辺を取り除き、vv と別の頂点をつなぐ新たな辺を追加する
  • vv を黒く塗る

AABB と一致させることが可能かどうかを判定し、可能ならば必要な操作回数の最小値を求めてください。一致判定において、頂点の色は考慮しません。

TT 個のケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 1T201 \leq T \leq 20
  • 3N503 \leq N \leq 50
  • 1ai,bi,ci,diN1 \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}

出力

各ケースについて、AABB と一致させることが可能ならば必要な操作回数の最小値を、不可能ならば、-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
  • それぞれのケースでは、以下の図のようなグラフが与えられます
  • ケース 11 では頂点 11 を選び、1122 をつなぐ辺を取り除いて 1133 をつなぐ辺を追加することで AABB を一致させることが可能です。頂点 22 は葉ではないため、選ぶことができないことに注意してください

3f020b4a4e883680357cc55adb571fbc.png

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
6
0
7
  • AABB が一致していることもあります