Problem C: 图的存储

Problem C: 图的存储

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

给定一个包含n个顶点和m条边的无向图。顶点编号为1到n。

请你分别用邻接矩阵和邻接表的形式输出这张图的结构。

Input

第一行包含两个整数n和m,分别表示顶点的个数和边的条数。

接下来 m 行,每行包含两个整数u,v,表示顶点u和顶点v之间存在一条无向边。

Output

输出包含两部分信息:

第一部分:邻接矩阵

输出一个n * n的矩阵

如果顶点i和顶点j之间有边连接,则第i行第j列输 1,否则输出 0 行内元素用空格隔开。

第二部分:邻接表

输出 n 行 ,对应1到n号顶点的连接情况。

对于第 i 行 :

  1. 先输出一个整数 di,表示余顶点i相连的边数(即度数)
  2. 紧接着输出di个整数,表示与顶点i相连的所有顶点的编号。
  3. 注意:连通的顶点编号必须从小到大的顺序输出。所有数字之间用空格隔开。   

Sample Input Copy

5 5
1 2
2 3
3 5
1 3
3 4

Sample Output Copy

0 1 1 0 0
1 0 1 0 0
1 1 0 1 1
0 0 1 0 0
0 0 1 0 0
2 2 3
2 1 3
4 1 2 4 5
1 3
1 3