Cod sursa(job #3364621)

Utilizator flaviussteffflavius stefan flaviussteff Data 7 septembrie 2026 23:43:39
Problema Sortare topologica Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.77 kb
from collections import deque

f=open("sortaret.in",'r')
w=open("sortaret.out",'w')

content=f.readline().split()
n,m=int(content[0]),int(content[1])

a=[[] for _ in range(n+1)]
grad=[0 for _ in range(n+1)]

for _ in range(m):
    content=f.readline().split()
    content=[int(x) for x in content]
    x=content[0]
    y=content[1]
    a[x].append(y)
    grad[y]+=1

viz=[0 for _ in range(n+1)]
lista=[]

q=deque()

for i in range(1, len(grad)):
    if grad[i]==0:
        q.append(i)
        lista.append(i)

while q:
    nod=q.popleft()
    lista.append(nod)
    for vecin in a[nod]:
        viz[vecin]=1
        grad[vecin]-=1
        if grad[vecin]==0:
            q.append(vecin)

for i in range(1,len(lista)):
    w.write(str(lista[i])+" ")