Pagini recente » Cod sursa (job #3365087) | Cod sursa (job #3364622) | Autentificare | Cod sursa (job #3364620) | Cod sursa (job #3364621)
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])+" ")