标签:als [] spl false color div split style end
def dijkstra(N,lowdis,dis): vis=[] for i in range(0,N): #有N个节点编号为0~N-1 lowdis.append(dis[0][i]) vis.append(False) vis[0]=True for i in range(1,N): mind=float(‘inf‘) minn=-1 for j in range(0,N): if not vis[j]: if lowdis[j]<mind: mind=lowdis[j] minn=j if mind<float(‘inf‘): vis[minn]=True for j in range(0,N): if not vis[j]: if lowdis[j]>mind+dis[minn][j]: lowdis[j]=mind+dis[minn][j] else: return -1 return lowdis[N-1] n,m=map(int,input().split()) lowdis=[] dis=[] line=[] for i in range(0,n): line.append(float(‘inf‘)) for i in range(0,n): dis.append(line[:]) dis[i][i]=0 for i in range(0,m): a,b,c=map(int,input().split()) if dis[a-1][b-1]>c: dis[a-1][b-1]=c print(dijkstra(n,lowdis,dis))
标签:als [] spl false color div split style end
原文地址:https://www.cnblogs.com/TAMING/p/9042399.html