第5个点是192.32,麻烦各位大哥帮我看看原因呗。
查看原帖
第5个点是192.32,麻烦各位大哥帮我看看原因呗。
939852
lxy545楼主2023/3/26 20:52
D1,C,D2,P,N=map(float,input().split())
N=int(N)
station = [[]
station.append([0,P])

for i in range(N):
    station.append(list(map(float,input().split())))
station.append([D1,-1])
point = [[0]*(N+3) for i in range(N+3)]]#将起点终点和各个加油站模拟成一堆点,存储每个可联通点之间的费用。
for i in range(1,len(station)):
    for j in range(i+1,len(station)):
        if (C*D2)>=station[j][0]-station[i][0]:
            point[i][j]=((station[j][0]-station[i][0])/D2)*station[i][1]//两层循环求出各个点之间的最小费用
        else:
            point[i][j]= 999
for i in range(2,len(station)):
    j=i-1
    while True:
        if (point[1][j]!=999 and  point[j][i]!=999):
            point[1][i] = min(point[1][i], point[1][j] + point[j][i])
        j -= 1
        if j<=1:
            break


a=point[1][N+2]
if a==999.00:
    print('No Solution')
else:
    print("%.2f" % a)






求求各位菊苣帮我看一下吧,为啥第五个点是192.32啊,始终想不通这个误差在哪。

2023/3/26 20:52
加载中...