AT_abc276_b [ABC276B] Adjacency List
Description
[problemUrl]: https://atcoder.jp/contests/abc276/tasks/abc276_b
$ 1,\ \dots,\ N $ と番号付けられた $ N $ 個の都市と、都市間を結ぶ $ M $ 本の道路があります。
$ i\ \,\ (1\ \leq\ i\ \leq\ M) $ 番目の道路は都市 $ A_i $ と都市 $ B_i $ を結んでいます。
以下の指示に従い、$ N $ 行にわたって出力してください。
- 都市 $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ と道路で直接結ばれた都市が $ d_i $ 個あるとし、それらを**昇順**に都市 $ a_{i,\ 1},\ \dots,\ a_{i,\ d_i} $ とおく。
- $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ 行目には、$ d_i\ +\ 1 $ 個の整数 $ d_i,\ a_{i,\ 1},\ \dots,\ a_{i,\ d_i} $ を、この順番で空白区切りで出力せよ。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ B_1 $ $ \vdots $ $ A_M $ $ B_M $
Output Format
問題文の指示に従い、$ N $ 行にわたって出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ M\ \leq\ 10^5 $
- $ 1\ \leq\ A_i\ \lt\ B_i\ \leq\ N\ \,\ (1\ \leq\ i\ \leq\ M) $
- $ (i\ \neq\ j) $ ならば $ (A_i,\ B_i)\ \neq\ (A_j,\ B_j) $
- 入力される値は全て整数
### Sample Explanation 1
都市 $ 1 $ と道路で直接結ばれているのは都市 $ 2,\ 3,\ 6 $ です。よって、$ d_1\ =\ 3,\ a_{1,\ 1}\ =\ 2,\ a_{1,\ 2}\ =\ 3,\ a_{1,\ 3}\ =\ 6 $ であるので、$ 1 $ 行目には $ 3,\ 2,\ 3,\ 6 $ をこの順番で空白区切りで出力します。 $ a_{i,\ 1},\ \dots,\ a_{i,\ d_i} $ は昇順に並んでいなければならないことに注意してください。例えば、$ 1 $ 行目に $ 3,\ 3,\ 2,\ 6 $ をこの順番で出力した場合、不正解となります。