728x90
✅ 위상정렬 기본 문제
from collections import deque
N,M = map(int,input().split())
G = [[] for _ in range(N+1)]
indegree = [0]*(N+1)
for _ in range(M):
a,b = map(int,input().split())
G[a].append(b)
indegree[b]+=1
q = deque()
for i in range(1,N+1):
if indegree[i]==0:
q.append(i)
while q:
v = q.popleft()
print(v, end=" ")
for nv in G[v]:
indegree[nv]-=1
if indegree[nv]==0:
q.append(nv)
728x90
'코딩테스트 > 그래프(MST(쿠루스칼,프림),위상정렬)' 카테고리의 다른 글
[프림] (백준_2887) 행성터널 - 파이썬 (0) | 2024.09.07 |
---|---|
[그래프] 위상정렬 이론 (1) | 2024.09.04 |
[그래프] MST(쿠루스칼, 프림) 이론 (3) | 2024.09.04 |