問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
プログラミングで木を扱う際には、辺の情報を利用しやすい形で保持することが好まれるので、隣接行列や隣接リストと呼ばれる形式で辺の情報を管理します。
この問題では、隣接リストを用いて木の辺の情報を管理してみましょう。
グラフ (N 頂点) の隣接リストとは、 N 本の連結リスト g_1, ... g_n であって、 各頂点 i について g_i が 「頂点 i と直接辺で繋がれている頂点のリスト」になっているようなものを指します。
木の頂点・辺についての情報が与えられるので、この木の隣接リストを出力してください。
N
a_1 b_1
...
a_{N-1} b_{N-1}
N 行の出力
・隣接リスト g を N 行で出力してください。
・各行の要素は半角スペース区切りで出力してください。
・各行の頂点番号は昇順にソートしてください。
・頂点 i (1 ≦ i ≦ N) に隣接している頂点がない場合は改行のみ出力してください。
g[0][0] g[0][1] ...
...
g[N-1][0] g[N-1][1] ...
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N ≦ 100
・ 1 ≦ a_i , b_i ≦ N (1 ≦ i ≦ N-1)
2
1 2
2
1
10
1 2
2 3
3 4
4 5
6 5
7 6
8 7
9 8
10 9
2
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 10
9