Cod sursa(job #2661626)

Utilizator speedypleathGheorghe Andrei speedypleath Data 22 octombrie 2020 13:36:15
Problema Sortare topologica Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.6 kb
f = open("sortaret.in")
g = open("sortaret.out","w")
(n,m) = (int(x) for x in f.readline().split())
graf = {}
for i in range(m):
    (a, b) = (int(x) for x in f.readline().split())
    if a not in graf:
        graf[a] = set()
    graf[a].add(b)
s = []
viz = {x for x in range(1,n+1)}
def top(x):
    viz.remove(x)
    if x not in graf:
        s.append(x)
    else:
        while graf[x] != set():
            a = graf[x].pop()
            top(a)
        s.append(x)
while viz != set():
    for x in viz:
        break
    top(x)
for i in range(n-1,-1,-1):
    g.write(str(s[i])+" ")