블로그 이사 중입니다 >> gumgood.github.io

1766 문제집 본문

Problem Solving/문제 풀이

1766 문제집

gumgood 2018. 11. 6. 16:20

C++11


i번째 문제보다 먼저 풀어야 하는 문제의 수를 indegree[i]에 count한다.


indegree[i] = 0인 i를 min_heap 구조의 priortiy queue에 넣는다. (3번 조건)


priority queue가 빌 때까지 문제들을 푼다.


문제를 풀면서 다음 문제의 indegree를 감소시키는데 0이 되면 pq에 추가시킨다.



각 문제가 pq에 한 번식 들어가고, 문제 간 우선순위를 한 번식 들어가므로 O(N+M)

'Problem Solving > 문제 풀이' 카테고리의 다른 글

4948 베르트랑 공준  (0) 2018.11.06
10814 나이순 정렬  (0) 2018.11.06
1766 문제집  (0) 2018.11.06
1159 농구 경기  (0) 2018.11.06
3036 링  (0) 2018.11.06
15489 파스칼 삼각형  (0) 2018.11.06
0 Comments
댓글쓰기 폼