코드#include #include #include using namespace std;int n,m,inj[32004],x,y;vector adj[32004];vector v;// 키는 순환이 생길 수 없음// 순서가 있게 진행 -> 위상정렬int main() { cin >> n >> m; for(int i = 0; i > x >> y; adj[x].push_back(y); inj[y]++; } queue q; for(int i = 1; i 풀이키 순서 세우기 문제는 학생 간의 순서 관계를 기반으로, 정확한 순서대로 정렬하는 문제이다. 학생 간의 비교 관계는 다일 경로를 형성하므로, 각 학생의 선행 학생이 하나 뿐이다. 이는 선행 작업이 여러 개 있지..
2252번
코드 # 키순서는 사이클이 생길 수 없다. # 따라서 유향 비순환 그래프라고 할 수 있다 # 정렬을 해주어야 하므로 위상정렬을 사용하면 된다. import sys from collections import deque input = sys.stdin.readline def topol_sort(): queue = deque() for i in range(1,n+1): if indegree[i] ==0: # 전입차수가 0인 값을 큐에 삽입 queue.append(i) while queue: popnum = queue.popleft() for j in graph[popnum]: indegree[j] -= 1 # 전입차수 하나 삭제 if indegree[j] == 0: # 전입차수가 0인 값을 큐에 삽입 queu..