5457: 【例77.1】模拟链表
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
在图论题编程中,通常要运用邻接链表数据结构。由于动态指针比静态的数组的存取慢,很多OI选手就用数组模拟指针。现在就来学习一下这种方法的编程。
有$N$个点,编号从$1$到$N$。有$M$条边,每条边用连接的$2$个顶点表示,如:($3$,$8$),表示顶点$3$和$8$之间的边(无向边)。请输出每个顶点通过边相邻的顶点。
有$N$个点,编号从$1$到$N$。有$M$条边,每条边用连接的$2$个顶点表示,如:($3$,$8$),表示顶点$3$和$8$之间的边(无向边)。请输出每个顶点通过边相邻的顶点。
输入
第1行,$N$和$M$两个整数,$N$范围在[$1$…$5000$],$M$范围在[$1$…$100000$];下面有M行,每行两个整数,表示一条边。
输出
$N$行,第$i$行的第$1$个数$k$表示有多少边和$i$号顶点相连,后面有$k$个数,表示哪$k$个顶点和$i$连接为一条边。
样例输入 复制
5 6
1 3
2 4
1 4
2 3
3 5
2 5
样例输出 复制
2 4 3
3 5 3 4
3 5 2 1
2 1 2
2 2 3