给定一张有n个点(n<300),m条边的图(保证联通),每个点依次编号为1,2,3...,n,请你使用两种不同的存储方式来存储这张图(邻接矩阵和邻接表)并输出。
第一行两个整数n和m,含义和题干一致,
接下来m行,每行两个整数u和v,代表点u和点v之间有边相连。
输出包括两部分;
第一部分:
输出使用邻接表存储的图,按照编号从小到大的顺序,依次输出n行,每行输出一个整数i,代表当前点编号,然后输出一个整数s,代表当前点与多少个有边直接相连,之后从大到小输出s个数,代表与i相连的点的编号。
第二部分:
输出使用邻接矩阵存储的图,输出一个n行n列的矩阵,从上往下的第i行,从左往右的第j列的元素为1则表示点i和点j之间有边直接相连,为0则表示没有。
4 4 1 2 1 4 1 3 2 3
1 3 4 3 2 2 2 3 1 3 2 2 1 4 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
#include<iostream>
using namespace std;
int main()
{
return 0;
}