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