지우너
[코드트리] 크기 비교3 C++ 본문
문제
https://www.codetree.ai/missions/9/problems/size-comparison-3?&utm_source=clipboard&utm_medium=text
코드
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int MAX_N = 32'000;
int n, m;
vector<int> edges[MAX_N+1];
int indegree[MAX_N+1];
priority_queue<int> pq;
int main() {
cin >> n >> m;
for(int i=0; i<m; ++i){
int a, b;
cin >> a >> b;
edges[a].push_back(b);
indegree[b]++;
}
for(int i=1; i<=n; ++i){
// 작은 순으로 정렬해야 하므로 -를 붙여서 push
if(indegree[i]==0) pq.push(-i);
}
while(!pq.empty()){
int node = -pq.top();
pq.pop();
cout << node << " ";
for(auto e : edges[node]){
indegree[e]--;
if(indegree[e]==0) pq.push(-e);
}
}
return 0;
}
'Problem Solving' 카테고리의 다른 글
[SWEA] 1989. 초심자의 회문 검사 C++ (0) | 2024.11.15 |
---|---|
[SWEA] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 C++ (0) | 2024.11.13 |
[코드트리] 친구의 키2 C++ (0) | 2024.11.10 |
[코드트리] 친구의 키 C++ (0) | 2024.11.08 |
[코드트리] 최소 스패닝 트리7 C++ (0) | 2024.11.07 |