Esempio n. 1
0
File: race.py Progetto: Tiboris/TGR
def run(data):
    crossroads = Graph(data, Crossroad)
    start = "A"
    distances, predecessors = crossroads.bellman_ford(start)
    successors = invert_dict(predecessors)
    path = start + " - " + successors[start][0]
    while (path.count(" - ") + 1) != len(crossroads.nodes):
        path = path + " - " + successors[path[-1]][0]

    bonuses = 0  # get all bonuses
    for node in crossroads.nodes:
        if crossroads.nodes[node].has_bonus:
            bonuses += path.count(node)

    print(path + ":", (-distances[path[-1]]) + bonuses)