#abc291h. [abc291_h]Balanced Tree
[abc291_h]Balanced Tree
問題文
頂点の木 が与えられます。 番目の辺は頂点 と を結んでいます。
次の条件をともに満たす 頂点の根付き木 を つ求めてください。
- を満たす全ての整数の組 に対し次が成り立つ
- における頂点 の最小共通祖先が頂点 であるとき、 において 頂点 を結ぶ単純パス上に頂点 が存在する
- において、根以外の全ての頂点 に対し、 を根とする部分木の頂点数の 倍は、 の親を根とする部分木の頂点数以下である
なお、この条件を満たす根付き木は必ず存在することが証明できます。
制約
- 入力は全て整数である
- 与えられるグラフは木である
入力
入力は以下の形式で標準入力から与えられる。
出力
問題文中の条件を満たす根付き木を とする。 における頂点 の親を頂点 とする(ただし、 が根のときは と定める)。
個の整数 をこの順に空白区切りで出力せよ。
入力例 1
4
1 2
2 3
3 4
出力例 1
2 -1 4 2
例えば、 における頂点 の最小共通祖先は頂点 であり、 において、頂点 を結ぶ単純パス上に頂点 が存在します。
また、例えば、 における頂点 を根とする部分木の頂点数は であり、その 倍は、頂点 を根とする部分木の頂点数 以下です。
入力例 2
5
1 2
1 3
1 4
1 5
出力例 2
-1 1 1 1 1