atcoder#ARC088D. [ARC088F] Christmas Tree
[ARC088F] Christmas Tree
配点 : 点
問題文
高橋君は、AtCoder 社のクリスマスパーティーに向けて、クリスマスツリーを作ることにしました。
クリスマスツリーとは 頂点に から まで番号付けられた 頂点 辺の木で、 本目の辺は頂点 と頂点 を結んでいます。
高橋君は、以下の方法でクリスマスツリーを作りたいです。
- つの非負整数 を指定する。
- 長さ 以下のクリスマスパスを 個用意する。ただし、長さ のクリスマスパスとは、 頂点 辺からなるグラフであって、頂点に から までの番号を適切につければ、 本目の辺が頂点 と頂点 を結んでいるようにできるものを指す。
- 以下の操作を、全体が連結になるまで繰り返す。- 異なる連結成分に属する 頂点 をとる。頂点 と頂点 をまとめて つの頂点にする。より正確には、頂点 に接続するすべての辺 について辺 を追加したあと、頂点 と、 に接続する辺をすべて削除する。
- 異なる連結成分に属する 頂点 をとる。頂点 と頂点 をまとめて つの頂点にする。より正確には、頂点 に接続するすべての辺 について辺 を追加したあと、頂点 と、 に接続する辺をすべて削除する。
- 出来上がった木の各頂点に、適当な番号をつける。
高橋君は、クリスマスツリーを作ることのできるような組 のうち、辞書順最小のものを求めたいです。 すなわち、 の最小値を求め、 の最小値を達成するという条件のもとで の最小値も求めたいです。
高橋君にかわって、この問題を解いてください。
制約
- 与えられるグラフは木である
入力
入力は以下の形式で標準入力から与えられる。
:
出力
辞書順最小の に対し、 を空白区切りで出力せよ。
7
1 2
2 3
2 4
4 5
4 6
6 7
3 2
下の図のような方法で、クリスマスツリーを作ることができます。
8
1 2
2 3
3 4
4 5
5 6
5 7
5 8
2 5
10
1 2
2 3
3 4
2 5
6 5
6 7
7 8
5 9
10 5
3 4