给定一张
第一行四个正整数
如果
如果
按顺序输出下列代数表示:
-
邻接矩阵或权矩阵。输出
$n$ 行,每行$n$ 个数表示矩阵。如果该图存在重边则不输出。如果$type2 = 0$ 输出邻接矩阵,如果$type2 = 1$ 输出权矩阵。 -
关联矩阵。输出
$n$ 行,每行$m$ 个数表示矩阵。如果$type2 = 1$ 或有自环则不输出。 -
邻接表。输出
$n$ 行。如果$type2 = 0$ 每行输出$d _ i$ 个数,其中$d _ i$ 为节点$i$ 的度数(无向图)或正度(有向图),每个数表示一条与$i$ 相接的边。如果$type2 = 1$ 每行输出$2d _ i$ 个数,每两个数表示一条边。 -
正向表。如果
$type2 = 0$ 输出两行,分别表示向量$A$ 和向量$B$ 。如果$type2 = 1$ 输出三行,分别表示向量$A$ ,向量$B$ 和向量$Z$ 。 -
逆向表。如果
$type1 = 0$ 则不输出(因为此时逆向表与正向表相同)。如果$type2 = 0$ 输出两行,分别表示向量$A$ 和向量$B$ 。如果$type2 = 1$ 输出三行,分别表示向量$A$ ,向量$B$ 和向量$Z$ 。
其中,邻接表、正向表、逆向表每个点对应的所有边按输入顺序输出。
正向表与逆向表的
3 3 0 0
2 3
1 3
1 2
0 1 1
1 0 1
1 1 0
0 1 1
1 0 1
1 1 0
3 2
3 1
2 1
1 3 5 7
3 2 3 1 2 1
3 3 1 1
3 1 5
2 2 4
3 1 3
2 4
1 5 1 3
1 1 2 4
2 1 1
4 5 3
1 3 4 4
3 3 2
5 3 4
3 3 0 1
1 3 5
2 2 3
2 3 1
0 0 5
0 3 1
5 1 0
3 5
2 3 2 3 3 1
1 5 2 1
1 2 5 7
3 2 2 3 1 2
5 3 3 1 5 1
4 3 0 1
3 3 5
2 4 6
2 4 7
4 6 4 7
3 5 3 5
2 6 2 7
1 1 3 5 7
4 4 3 3 2 2
6 7 5 5 6 7
对于所有数据,满足
细节提示:
1.无向图中一些数组可能需要
2.无向图中如果存在自环,则在邻接表和正向表中都需要将这条边输出两次,但不影响邻接矩阵或权矩阵的输出。
3.逆向表中对于连向一点的边也要按输入顺序输出而不是边权大小顺序。
4.无向带权图中每条非自环边都会修改权矩阵中两个位置。
5.无法通过时可以通过构造有向/无向、带权/不带权、有/无自环、有/无重边的小数据来检查代码。
第
第
第
第
第
第
第