問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
以下の図のような、ノード(頂点)と向きの無いエッジ(辺)の集合を無向グラフといいます。
頂点の数が N であるような無向グラフにおいて、N 個の配列を持つ 2 次元配列 g を考えます。
i 番目の頂点と j 番目の頂点が辺で結ばれているとき、g の i-1 番目の配列に j-1 , g の j-1 番目の配列に i-1 を追加します。
この操作を繰り返してできる 2 次元配列 g を隣接リストといいます。
グラフの頂点・辺についての情報が与えられるので、このグラフの隣接リストを出力してください。
なお、このグラフには、多重辺や自己ループはないものとします。
N M
a_1 b_1
...
a_M b_M
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 ≦ M ≦ N × (N - 1) / 2
・ 1 ≦ a_i , b_i ≦ N
2 1
2 1
1
0
10 10
2 4
5 7
4 7
9 10
10 2
1 5
1 8
4 5
7 8
1 10
479
39
146
036
347
06
9
018