Exemple #1
0
def shortest_reach(n, edges, s):
    graph = Graph(False)
    for vertex in range(1, n + 1):
        graph.add_vertex(vertex)
    for begin, end, weight in edges:
        graph.add_edge(begin, end, weight)
    shortest_paths = graph.dijkstra_shortest_path(s)
    return [
        value.distance if value.distance != inf else -1
        for key, value in sorted(shortest_paths.items()) if key != s
    ]