지우너
[코드트리] 크기 비교3 C++ 본문
문제
https://www.codetree.ai/missions/9/problems/size-comparison-3?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
코드
#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 |