atcoder#ABC276B. [ABC276B] Adjacency List

[ABC276B] Adjacency List

配点 : 200200

問題文

1,,N1, \dots, N と番号付けられた NN 個の都市と、都市間を結ぶ MM 本の道路があります。 i(1iM)i \, (1 \leq i \leq M) 番目の道路は都市 AiA_i と都市 BiB_i を結んでいます。

以下の指示に従い、NN 行にわたって出力してください。

  • 都市 i(1iN)i \, (1 \leq i \leq N) と道路で直接結ばれた都市が did_i 個あるとし、それらを昇順に都市 ai,1,,ai,dia_{i, 1}, \dots, a_{i, d_i} とおく。
  • i(1iN)i \, (1 \leq i \leq N) 行目には、di+1d_i + 1 個の整数 di,ai,1,,ai,did_i, a_{i, 1}, \dots, a_{i, d_i} を、この順番で空白区切りで出力せよ。

制約

  • 2N1052 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 1Ai<BiN(1iM)1 \leq A_i \lt B_i \leq N \, (1 \leq i \leq M)
  • (ij)(i \neq j) ならば (Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)
  • 入力される値は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM

A1A_1 B1B_1

\vdots

AMA_M BMB_M

出力

問題文の指示に従い、NN 行にわたって出力せよ。

6 6
3 6
1 3
5 6
2 5
1 2
1 6
3 2 3 6
2 1 5
2 1 6
0
2 2 6
3 1 3 5

都市 11 と道路で直接結ばれているのは都市 2,3,62, 3, 6 です。よって、d1=3,a1,1=2,a1,2=3,a1,3=6d_1 = 3, a_{1, 1} = 2, a_{1, 2} = 3, a_{1, 3} = 6 であるので、11 行目には 3,2,3,63, 2, 3, 6 をこの順番で空白区切りで出力します。

ai,1,,ai,dia_{i, 1}, \dots, a_{i, d_i} は昇順に並んでいなければならないことに注意してください。例えば、11 行目に 3,3,2,63, 3, 2, 6 をこの順番で出力した場合、不正解となります。

5 10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
4 2 3 4 5
4 1 3 4 5
4 1 2 4 5
4 1 2 3 5
4 1 2 3 4