#gigacode2019g. [gigacode_2019_g]ギガ国の道路事情
[gigacode_2019_g]ギガ国の道路事情
问题描述
Giga国有 个城市,分别以编号 进行标记。
一些城市之间通过道路相连。具体来说,有 条道路,第 条道路连接城市 和 (双向)。通过一些道路,任意两个城市之间都可以到达。
定义 为城市 和 之间的距离,即只使用道路从城市 到城市 所需的最小道路数量。
求所有不同的城市对 的距离 的总和。
约束条件
- 任何 的组合中,直接连接城市 和城市 的道路最多只有 1 条。
- 任意两个城市之间都可以通过道路到达。
- 输入都是整数
部分得分
此问题分为若干子任务,只有在所有子任务的测试用例中都正确才会被视为“通过该子任务”。
提交的源代码的得分是通过所有通过的子任务得分之和。
- (9 分)
- (7 分)
- (12 分) 满足 。
- (13 分) 满足 。
- (28 分) 满足 ,并且对于 ,满足 。
- (22 分) 满足 。
- (9 分) 没有额外的约束。
输入
从标准输入中以以下格式给出输入:
: :
输出
请输出所有城市 之间的距离 的总和。
注意
由于输入输出规模较大,建议使用快速输入输出(比如 C++ 中的 scanf/printf)来优化程序性能。
输入示例 1
4 3
1 2
2 3
3 4
输出示例 1
10
Giga国的道路网络如下所示:
在这个道路网络中,$d(1, 2) = 1, d(1, 3) = 2, d(1, 4) = 3, d(2, 3) = 1, d(2, 4) = 2, d(3, 4) = 1$,因此答案为 。
输入示例 2
4 6
1 2
1 3
1 4
2 3
2 4
3 4
输出示例 2
6
Giga国的道路网络如下所示:
在这个道路网络中,任意两个城市之间的距离都是 1,因此答案为 6。
输入示例 3
9 12
1 2
2 3
4 5
5 6
7 8
8 9
1 4
4 7
2 5
5 8
3 6
6 9
输出示例 3
72