笔试-基站维护

应用

小王是一名基站维护工程师,负责某区域的基站维护。某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站到基站y的距离,与基站y到基站的距离并不一定会相同。

小王从基站1出发,途经每个基站1次,然后返回基站1,需要请你为他选择一条距离最短的路。

实现

python 复制代码
n = int(input("站点数:"))

distance = []
for i in range(0, n):
    str = input(f"站点{i}到各站点的距离:").split()
    lst = [int(s) for s in str]
    distance.append(lst)
# print(distance)

visited = [0]
current = 0
sum = 0

result= [5000]

def route(visited, current, sum):
    
    if len(visited) == 1:
        for i in range(1, n):
            temp = sum + distance[0][i]
            visited.append(i)
            route(visited, i, temp)
            
            # 复原
            visited.pop()

    if len(visited) > 1 and len(visited) < n:
        for i in range(1, n): 
            if distance[current][i] != 0 and i not in visited:
                temp = sum + distance[current][i]
                visited.append(i)
                route(visited, i, temp)

                visited.pop()
    
    if len(visited) == n:
        temp = sum + distance[current][0]
        # visited.append(0)
        if temp < result[0]:
            result[0] = temp
# 启动
route(visited, current, sum)
print(result[0])
powershell 复制代码
站点数:3
站点0到各站点的距离:0 2 1
站点1到各站点的距离:1 0 2
站点2到各站点的距离:2 1 0
3

站点数:4
站点0到各站点的距离:0 2 1 3
站点1到各站点的距离:1 0 2 5
站点2到各站点的距离:2 1 0 4
站点3到各站点的距离:3 2 6 0
8
相关推荐
装不满的克莱因瓶3 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz3 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
biter down9 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威10 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks10 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴10 小时前
线程的生命周期之线程“插队“
java·开发语言·python
xsc69967511 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海13 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者13 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育13 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习