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