Cod sursa(job #2651355)

Utilizator filicriFilip Crisan filicri Data 22 septembrie 2020 14:07:52
Problema Sortare topologica Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.55 kb
from collections import defaultdict

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

def dfs(node, seen, sol):
	seen[node] = 1
	for val in G[node]:
		if seen[val] == 0:
			dfs(val, seen, sol)
	sol.append(node)


n, m = (int(val) for val in f.readline().split())

G = defaultdict(list)
for i in range(m):
	x, y = (int(val) for val in f.readline().split())
	G[x].append(y)

seen = [0 for i in range(n+1)]
sol = []

for i in range(1, n+1):
	if seen[i] == 0:
		dfs(i, seen, sol)

for i in range(n-1, -1, -1):
	print(sol[i], end=' ')

f.close()
g.close()