問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
与えられた根付き木を帰りがけ順(ポストオーダー)で訪問した順番で、ノードに書かれた数値を出力してください。
帰りがけ順(ポストオーダー)とは、以下の順番で木のノードを訪問する方法です。
1行目に、ノードの総数 n とノードの番号の最大値 m が空白区切りで与えられます。
2~n+1行目に、ノードの番号 ai(1 ≦ i ≦ n)、ノードの要素 bi(1 ≦ i ≦ n) が空白区切りで与えられます。
n m
a1 b1
a2 b2
.
.
.
an bn
合計で n 行の出力をしてください。
与えられた木構造を 1 番のノードから帰りがけ順で探索し、その時に通ったノードの要素を順番に 1 行ずつ出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
5 8
1 8
2 38
3 5
4 4
8 25
25
4
38
5
8
すべてのテストケースにおいて、木構造は以下の条件をみたします。
・ 1 ≦ n ≦ m ≦ 106
・ ノード番号 1 以外のノードは必ず親を持つ
・ ai の親ノード番号は ⌊ai / 2⌋
・ 1 ≦ ai ≦ m
・ 1 ≦ bi ≦ 109
5 8
1 8
2 38
3 5
4 4
8 25
25
4
38
5
8