2025-12-26 23:41:24 +09:00

30 lines
557 B
Python

from collections import deque
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
graph = [[] for _ in range(N+1)]
indegree = [0]*(N+1)
for _ in range(M) :
a, b = map(int, input().split())
graph[a].append(b)
indegree[b] += 1
qu = deque()
for i in range(1,N+1) :
if indegree[i] == 0 :
qu.append(i)
ans = []
while qu :
now = qu.popleft()
ans.append(str(now))
for next in graph[now] :
indegree[next] -= 1
if indegree[next] == 0 :
qu.append(next)
print(" ".join(ans))