#A1914. 【例】邻接表

【例】邻接表

题目描述

邻接表是另一种表示图的数据结构,它比邻接矩阵更节省空间,特别是在稀疏图(边的数量远小于顶点对的数量)的情况下。邻接表通过一个数组或列表来存储每个顶点的邻接点,从而表示图中顶点之间的连接关系。

无向图的邻接表

对于无向图,邻接表中的每个顶点都有一个与之对应的链表,链表中的每个节点代表与该顶点直接相连的另一个顶点。由于无向图的边是双向的,所以如果顶点 ii 和顶点 jj 之间有一条边,那么在顶点 ii 的链表中会有顶点 jj,反之亦然。

有向图的邻接表 对于有向图,邻接表中的每个顶点同样有一个链表,但是链表中的节点代表从该顶点出发指向的邻接点。这意味着如果存在一条从顶点 ii指向顶点 jj的有向边,那么顶点 ii的链表中会有顶点 jj,但顶点 jj的链表中不一定会有顶点 ii

带权图的邻接表 对于带权图,邻接表中的链表节点除了存储邻接点外,还会存储与该邻接点相关的权重信息。

输入图中点的数量和边的集合,输出对应的邻接表

输入

第一行输入两个整数n,mn,m,表示点的范围和边的数量

接下来一共mm对整数a,ba,b,表示aabb之间有有向边

输出

输出邻接矩阵

3 3
1 3
2 3
1 2
1:3 2
2:3

样例解释

11可以走到点3,23,2

22可以走到点33

提示

1n100000 1 \leq n \leq 100000

1m1000000 1 \leq m \leq 1000000