from graphs_gmather2 import sp
import sys

if __name__ == "test":

    if len(sys.argv) != 2:
            print(f'Use: {sys.argv[0]} graph_file')
            sys.exit(1)

    graph = {}
    with open(sys.argv[1], 'rt') as f:
            f.readline() # skip first line
            for line in f:
                line = line.strip()
                s, d, w = line.split()
                s = int(s)
                d = int(d)
                w = int(w)
                if s not in graph:
                    graph[s] = {}
                graph[s][d] = w
        
    s = 0
    dist, path = sp.dijkstra(graph, s)
    print(f'Shortest distances from {s}:')
    print(dist)

    for d in path: 
        print(f'spf to {d}: {path[d]}')