3468 - 图的存储

题目描述

给定一个 n 个顶点、 m 条边的无向图。请以邻接矩阵和邻接表的形式输出这一张图。

输入

- 第一行输入两个正整数 n m ,表示图的顶点数和边数。

- 第二行开始,往后 m 行,每行输入两个以空格隔开的正整数 u, v ,表示 u v 顶点之间有一条边直接相连。

输出

首先输出一个 n \times n 的矩阵,以空格隔开每一行之间的数,表示邻接矩阵。第 i 行第 j 列的数为 1,则表示顶点 i j 之间有一条边直接相连;若为 0,则表示没有直接相连的边。

再往后输出 n 行。第 i 行首先输出一个整数 d_i ,表示这个顶点的度数,再按照从小到大的顺序,依次输出与顶点 i 直接相连的所有顶点。

样例

输入

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

输出

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
说明

## 提示

数据保证,对于所有数据, 1 \leq n \leq 1000 1 \leq m \leq 10^5 ,且图无重边、无自环。

### 图形示意

说明:该图结构为:

  • 顶点 1 连接 2 和 3
  • 顶点 2 连接 1 和 3
  • 顶点 3 连接 1、2、4、5
  • 顶点 4 连接 3
  • 顶点 5 连接 3
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 12
通过人数 8
金币数量 3 枚
难度 基础


上一题 下一题