华为OD机试:基站维修工程师
题目
小王是一名基站维护工程师,负责某区域的基站维护。
某地方有 n 个基站( 1<n<10 ),已知各基站之间的距离 s( 0<s<500 ),
并且基站 x 到基站 y 的距离,与基站 y 到 基站 x 的距离并不一定会相同。
小王从基站 1 出发,途经每个基站 1 次,然后返回基站 1 ,需要请你为他选择一条距离最短的路。
输入
站点数 n 和各站点之间的距离(均为整数)。
如:
3 {站点数}
0 2 1 {站点1到各站点的路程}
1 0 2 {站点2到各站点的路程}
2 1 0 {站点3到各站点的路程}
输出描述
最短路程的数值
示例一
输入
3
0 2 1
1 0 2
2 1 0
输出
3
解题思路
- 输入 n,表示城市数量。
- 输入 n 行,每行 n 个整数,表示城市之间的距离。
- 在 solve_method 函数中,对于每一个城市(除了第 0 个城市),计算从第 0 个城市到该城市,再从该城市回到第 0 个城市的距离,并记录最短的一条路径。
核心知识点
使用 map 函数处理字符串。
Python 代码实现
bs_num = int(input().strip())
distances = [list(map(int, input().strip().split())