#AT2366. B - Adjacency List

B - Adjacency List

当前没有测试数据。

B - 邻接表

得分:200分

问题描述

有N个编号为1到N的城市,以及M条连接城市的道路。 第i条道路(1≤i≤M)连接城市A_i和城市B_i。

按照以下方式打印N行:

  • 让d_i表示直接连接到城市i的城市数量(1≤i≤N),并且这些城市是城市a_i,1, ..., a_i,d_i,按升序排列。
  • 第i行(1≤i≤N)应该按照d_i + 1个整数d_i, a_i,1, ..., a_i,d_i的顺序,以空格分隔。

约束条件

  • 2 ≤ N ≤ 10510^5
  • 1 ≤ M ≤ 10510^5
  • 1 ≤ A_i < B_i ≤ N (1 ≤ i ≤ M)
  • (A_i, B_i) ≠ (A_j, B_j) if (i ≠ j).
  • 所有输入的值都是整数。

输入

输入从标准输入中以以下格式给出:

N M A_1 B_1 ⋮ A_M B_M

输出

按照问题描述输出N行。

样例

输入1

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

输出1

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

与城市1直接相连的城市是2、3和6。因此,我们有d_1 = 3, a_1,1 = 2, a_1,2 = 3, a_1,3 = 6,所以你应该按照这个顺序,以空格分隔,输出3、2、3、6。 请注意,a_i,1, ..., a_i,d_i必须按升序排列。例如,按照这个顺序输出3、3、2、6无效。

输入2

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

输出2

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