atcoder#AGC027F. [AGC027F] Grafting
[AGC027F] Grafting
配点 : 点
問題文
すぬけ君は頂点に から の番号がついた 頂点の木 を見つけました。 の 番目の辺は頂点 と をつないでいます。 の 番目の辺は頂点 と をつないでいます。 全ての頂点ははじめ、白で塗られています。
すぬけ君は以下の操作を に 回以上行い、 と一致するようにしたいです。
- 白で塗られた葉を つ選ぶ(これを とする)
- に接続された辺を取り除き、 と別の頂点をつなぐ新たな辺を追加する
- を黒く塗る
を と一致させることが可能かどうかを判定し、可能ならば必要な操作回数の最小値を求めてください。一致判定において、頂点の色は考慮しません。
個のケースが与えられるので、それぞれについて答えを求めてください。
制約
- 与えられるグラフはいずれも木
入力
入力は以下の形式で標準入力から与えられる。
各ケースは以下の形式で与えられる。
出力
各ケースについて、 を と一致させることが可能ならば必要な操作回数の最小値を、不可能ならば、-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
- それぞれのケースでは、以下の図のようなグラフが与えられます
- ケース では頂点 を選び、 と をつなぐ辺を取り除いて と をつなぐ辺を追加することで と を一致させることが可能です。頂点 は葉ではないため、選ぶことができないことに注意してください
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
- と が一致していることもあります