全新题目


【编程题目 |200分】最优高铁城市修建方案华为OD机试   2022 Q4考试题 A卷】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++131072K,其他语言262144K

64bit IO Format:%lld


语言限定:
C(clang11), C++(clang++1), Pascal(fpc 3.0.2), Java(javac 1.8), Python2(2.7.3), 
PHP(7.4.7), C#(mcs5.4), ObjC(gcc 5.4), Pythen3(3.9), JavaScript Node(12.18.2), JavaScript V8(6.0.0),
Sqlite(3.7.9), R(4.0.3), Go(1.14.4), Ruby(2.7.1), Swift(5.3), matlab(Octave 5.2), Pypy2(pypy2.7.13),
Pypy3(pypy3.6.1), Rust(1.44), Scala(2.11.12), Kotlin(1.4.10), Groovy(3.0.6), TypeScript(4.1.2), Mysql(8.0)


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【最优高铁城市修建方案

高铁城市圈对人们的出行、经济的拉动效果明显。
每年都会规划新的高铁城市圈建设。在给定城市数量,可建设高铁的两城市间的修建成本列表、以及结合城市商业价值会固定建设的两城市建高铁。
请你设计算法,达到修建城市高铁的最低成本。注意,需要满足城市圈内城市间两两互联可达(通过其他城市中转可达也属于满足条件)。

输入

输入信息包括:

1、第一行,包含此城市圈中城市的数量、可建设高铁的两城市间修建成本列表数量、必建高铁的城市列表。三个数字用空格间隔。

2、可建设高铁的两城市间的修建成本列表,为多行输入数据,格式为3个数字,用空格分隔,长度不超过1000。

3、 固定要修建的高铁城市列表,是上面参数2的子集,可能为多行,每行输入为2个数字,以空格分隔。

城市id从1开始编号,建设成本的取值为正整数,取值范围均不会超过1000

输出

修建城市圈高铁的最低成本,正整数。如果城市圈内存在两城市之间无法互联,则返回-1。

示例1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

3 3 0
1 2 10
1 3 100
2 3 50

输出

60

解释:

3 3 0城市圈数量为3,表示城市id分别为1,2,3
1 2 10城市1,2间的高铁修建成本为10
1 3 100城市1,3间的高铁修建成本为100
2 3 50城市2,3间的高铁修建成本为50
满足修建成本最低,只需要建设城市1,2间,城市2,3间的高铁即可,城市1,3之间可通过城市2中转来互联。这样最低修建成本就是60。


代码实现


JAVA


import java.util.*;

public class Main {
    public static void main(String[] args) {

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看