#3653. 模拟链表

模拟链表

题目描述

在图论题编程中,通常要运用邻接链表数据结构。由于动态指针比静态的数组的存取慢,很多OI选手就用数组模拟指针。现在就来学习一下这种方法的编程。

NN个点,编号从1到NN。有MM条边,每条边用连接的2个顶点表示,如:(3,8),表示顶点3和8之间的边(无向边)。请输出每个顶点通过边相邻的顶点。

输入

第1行,NNMM两个整数,NN范围在[1…5000],MM范围在[1…100000];下面有MM行,每行两个整数,表示一条边。

输出

NN行,第ii行的第1个数kk表示有多少边和ii号顶点相连,后面有kk个数,表示哪kk个顶点和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

来源

  • 一本通编程启蒙在线评测