2025暑期实习知识点查漏补缺-[1/N]
最近准备暑期实习,准备的太迟,很多基础都还没看,面试笔试都时常卡壳,带着整理一下基础知识。
from collections import deque
n, m = map(int, input().split())
graph = {v: set() for v in range(1, n+1)}
indegree = {v: 0 for v in range(1, n+1)}
result = []
for _ in range(m):
u, v = map(int, input().split())
graph[u].add(v)
indegree[v] += 1
queue = deque()
for v, degree in indegree.items():
if degree == 0:
queue.append(v)
while queue:
u = queue.popleft()
result.append(u)
for v in graph[u]:
indegree[v] -= 1
if indegree[v] == 0:
queue.append(v)
if len(result) != n:
print(-1)
else:
for elem in result:
print(elem, end=' ')
#拓扑排序#
