atcoder#ABC276B. [ABC276B] Adjacency List

[ABC276B] Adjacency List

题目描述

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

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

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

输入格式

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

N N M M A1 A_1 B1 B_1 \vdots AM A_M BM B_M

输出格式

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

题目大意

  • 给定一张 nnmm 边的双向图。
  • 你需要输出一张邻接表,按照邻居编号单调递增存储。

输出格式:

kk 行输出 kk 号点的邻居编号。

先输出 kk 号点的邻居个数,再按照升序输出 kk 号点的所有邻居。

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
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

提示

制約

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

Sample Explanation 1

都市 1 1 と道路で直接結ばれているのは都市 2, 3, 6 2,\ 3,\ 6 です。よって、$ d_1\ =\ 3,\ a_{1,\ 1}\ =\ 2,\ a_{1,\ 2}\ =\ 3,\ a_{1,\ 3}\ =\ 6 $ であるので、1 1 行目には 3, 2, 3, 6 3,\ 2,\ 3,\ 6 をこの順番で空白区切りで出力します。 ai, 1, , ai, di a_{i,\ 1},\ \dots,\ a_{i,\ d_i} は昇順に並んでいなければならないことに注意してください。例えば、1 1 行目に 3, 3, 2, 6 3,\ 3,\ 2,\ 6 をこの順番で出力した場合、不正解となります。