#3682. 2-邻接矩阵-有向图

2-邻接矩阵-有向图

题目描述

给定一个有向图,使用邻接矩阵表示。请编写程序计算并输出图中指定顶点的出度、入度以及整个图的度数(所有顶点的出度与入度之和的总和)。

输入格式

• 第一行输入两个整数 nnmm,分别表示图中顶点的数量和边的数量。

• 接下来 n×nn \times n 行,输入一个 n×nn \times n 的邻接矩阵 AA,其中 A[i][j]A[i][j] 表示是否存在从顶点 ii 到顶点 jj 的有向边: • 如果 A[i][j]=1A[i][j] = 1,表示存在从顶点 ii 到顶点 jj 的有向边。 • 如果 A[i][j]=0A[i][j] = 0,表示不存在该边。

• 最后一行输入一个整数 vv,表示需要计算度数的顶点编号(顶点编号从 0 开始)。

输出格式

• 输出两行:

  1. 第一行输出指定顶点 vv出度入度,用空格分隔。
  2. 第二行输出整个图的度数(所有顶点的出度与入度之和的总和)。

样例输入 1

4 4
0 1 0 0
1 0 1 0
0 0 0 1
0 0 0 0
2

样例输出 1

1 1
8

样例输入 2

5 6
0 1 0 1 0
0 0 1 0 0
0 0 0 1 1
1 0 0 0 0
0 0 0 0 0
3

样例输出 2

1 2
12

解题思路提示

  1. 顶点的出度:邻接矩阵中第 vv 行所有值为 1 的元素个数。
  2. 顶点的入度:邻接矩阵中第 vv 列所有值为 1 的元素个数。
  3. 图的度数:所有顶点的出度之和加上入度之和。由于每条边贡献一个出度和一个入度,总度数等于 2×m2 \times m

注意事项

  1. 输入的顶点编号从 0 开始。
  2. 邻接矩阵不一定对称,每个 1 表示一条有向边。