一、题目描述
小王是一名基站维护工程师,负责某区域的基站维护。
某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站x到基站y的距离,与基站y到基站x的距离并不一定会相同。
小王从基站1出发,途径每个基站1次,然后返回基站1,需要请你为他选择一条距离最短的路线。
二、输入描述
站点数n和各站点之间的距离(均为整数)。
如:
3 {站点数}
0 2 l {站点1到各站点的路程}
1 0 2 {站点2到各站点的路程}
2 1 0 {站点3到各站点的路程}
三、输出描述
最短路程的数值。
四、解题思路
- 创建二维数组,用于存储各基站之间的距离;
- 通过双重循环,将输入的距离数据存入二维数组中;
- 创建一个一维数组,初始化数据为1,用于标记基站的访问情况;
- 递归调用函数,计算最短路线;
- 已经访问的基站数n 等于 arr1-1时,表示已经访问了所有的基站,需要返回到基站1,此时将当前距离sum加上从当前基站到基站1的距离arr[currentNumber][0],并更新最小距离min;