图的邻接矩阵表示
题目描述
输入一个有向图的信息,输出图的邻接矩阵和与顶点t的相关信息。
输入描述
前n行输出邻接矩阵的信息。(邻接表中数字代表权重,若不可到达则权重为0)
第n+1行输出顶点t的出度及其邻接点,按编号从大到小排序。
第n+2行输出顶点t的入度及其邻接点,按编号从大到小排序。
第n+3行输出顶点的度。
样例
输入
5 3
1 3 9
2 4 5
3 5 3
3
输出
0 0 9 0 0
0 0 0 5 0
0 0 0 0 3
0 0 0 0 0
0 0 0 0 0
1 5
1 1
2
思路
首先我们先理一个概念——图是什么
图
在数学中,图是描述于一组对象的结构,其中某些对象对在某种意义上是“相关的”。这些对象对应于称为顶点的数学抽象(也称为节点或点),并且每个相关的顶点对都称为边(也称为链接或线)。通常,图形以图解形式描绘为顶点的一组点或环,并通过边的线或曲线连接。 图形是离散数学的研究对象之一。
(随便看看就好)
图的分类
图分有向图和无向图
区别简单来说就是:
无向图的边没有方向(也就是箭头)
而有向图的弧是有方向(还是箭头)的
注意:本题是有向图,所以转邻接矩阵只用了
a[x][y]=z;
而如果是无向图则需要
a[x][y]=z;
a[y][x]=z;
出度入度
书接上回,本题是有向图,所以就有出度和入度之分
解释一下:
出度
在图的节点上,出节点(即箭头朝外)的弧数量总和
入度
与出度相反,入节点(即箭头朝里)的弧数量总和
度
对有向图来说,度即是出度入度之和
而对无向图来说,由于不分出度入度,所以链接该点的边数量即为度
可能的难点
说上面那么多,只是为了水字数,开个玩笑,题中要我们输出t点的出度和入度,所以我们就要区分在邻接矩阵中,出度和入度对应的点
概括一下,
出度,是遍历行;而入度,是遍历列
AC代码