道路修建总费用计算

kt890052 程序题 共 个子题

题目描述

每条道路的修建费用等于道路长度乘以道路两端的国家个数之差的绝对值。例如,在下图中,虚线所示道路两端分别有 2 个、4 个国家,如果该道路长度为 1,则费用为 1×|2−4|=2。图中圆圈里的数字表示国家的编号。 示例树结构 由于国家的数量十分庞大,道路的建造方案有很多种,同时每种方案的修建费用难以用人工计算,国王们决定找人设计一个软件,对于给定的建造方案,计算出所需要的费用。

输入描述

输入的第一行包含一个整数 n,表示 W 星球上的国家的数量,国家从 1 到 n 编号。 接下来 n–1 行描述道路建设情况,其中第 i 行包含三个整数 a_i、b_i 和 c_i,表示第 i 条双向道路修建在 a_i 与 b_i 两个国家之间,长度为 c_i。

输出描述

输出一个整数,表示修建所有道路所需要的总费用。

输入样例1

6
1 2 1
1 3 1
1 4 2
6 3 1
5 2 1

输出样例1

20

样例1解释

给定的道路构成一棵6个节点的树,每条边的贡献计算如下:

  1. 边2-5:移除后分为1个和5个节点的连通分量,贡献为1×|1-5|=4
  2. 边1-2:移除后分为2个(2、5)和4个节点的连通分量,贡献为1×|2-4|=2
  3. 边6-3:移除后分为1个和5个节点的连通分量,贡献为1×|1-5|=4
  4. 边1-3:移除后分为2个(3、6)和4个节点的连通分量,贡献为1×|2-4|=2
  5. 边1-4:移除后分为1个和5个节点的连通分量,贡献为2×|1-5|=8 总费用为4+2+4+2+8=20。

提示

对于 100% 的数据,1≤a_i, b_i≤n,0≤c_i≤10^6,2≤n≤10^6。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧