2386. 有向图的邻接表构建
1000ms
256MB
简单
图的基本应用
提高组训练计划
题目描述
当图的边数较少(稀疏图)时,使用邻接矩阵会浪费大量的空间。此时我们通常采用邻接表来存储图。
给定一个包含 $N$ 个顶点和 $M$ 条有向边的图(顶点编号为 $1$ 到 $N$)。请构建该图的邻接表并将其输出。
为了使输出结果唯一,要求对于每个顶点,其指向的所有邻接顶点在输出时必须**按照顶点编号从小到大**的顺序输出。
输入格式
- 第一行包含两个正整数 $N$ 和 $M$ ($1 \le N \le 1000, \quad 0 \le M \le 10000$),分别表示图的顶点数和有向边数。
- 接下来 $M$ 行,每行包含两个正整数 $u$ 和 $v$ ($1 \le u, v \le N$),表示存在一条从顶点 $u$ 指向顶点 $v$ 的有向边。
输出格式
- 输出共 $N$ 行。
- 第 $i$ 行表示顶点 $i$ 指向的邻接顶点信息,输出格式为:`i: v1 v2 ...`。
- 如果顶点 $i$ 没有指向任何顶点,则输出 `i:` 后直接换行。
- 注意:冒号 `:` 后面有一个空格(若该行没有邻接顶点,则冒号后面无空格直接换行)。
样例 1
输入 (Input)
输出 (Output)
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功