#1423. [ACSL] 2020-2021 Contest 4 Graphs

[ACSL] 2020-2021 Contest 4 Graphs

描述

给定一个有向图,创建它的邻接矩阵,使得最终输出为以下特征之一:

  1. 找到并打印输出长度为 1 和 2 的环的数量总和。

  2. 找到从任意一个特定顶点出发的边的最大数量。如果边数相等,选择数值靠前的顶点。打印输出从该顶点出发的所有边的和。

  3. 找到并打印输出整个图中长度为 2 的路径数量总和。

例如,在下图中,满足上述每个特征的结果为:

  1. 1 - 因为没有一条边的出发顶点和结束顶点相同,所以没有长度为 1 的环。因为 13 和 31 都是边,所以存在一个长度为 2 的环。因此总和为 1。

  2. 25 - 从顶点 1 和顶点 3 作为出发顶点最多有 2 条边。因为从数值上看数字 1 靠前,所以将顶点 1 作为出发顶点。因此从顶点 1 开始的所有边的总和为 12+13=2512 + 13 = 25

  3. 10 - 经过观察,长度为 2 的路径有 1-2-3, 1-3-1, 1-3-4, 2-3-1, 2-3-4, 3-1-3, 3-1-2, 3-4-1, 4-1-2 和 4-1-3,总数为 10。

输入输出格式

输 ⼊

你将会接收到一行数据,每行都包含一个 1-3 的数字,表示要输出上述 3 个特征中的哪一个,紧接着是一系列包含 2 个字符的字符串,表示图中所有的有向边。比如,字符串 “31” 表示一条从顶点 3 到顶点 1 的有向边。图不超过 9 个顶点。

输 出

打印输出对应图中选定特征(1-3)的结果。

样例

2 12 13 23 3 1 3 4 4 1
1 12 23 3 4 11 21 32 45 53 95 43 9929 91
3 12 23 34 41 31 5 2 4 5 6 1 14 21 33 55 13 54 32 56 36
1 12 11 33 34 4 3 55 5 2 4 1 31 25 8 8 7 9 98 45 13 42 87 35 51 21 14 7 8
2 12 11 33 34 43 55 5 2 4 1 31 25 88 79 9 8 45 13 42 87 35 51 2 1 14 78
2 5
5
49
1 0
50