문제 링크 : https://www.acmicpc.net/problem/1766
문제를 푸는 순서를 정해야 합니다.
문제를 효율적으로 풀기 위해서 선수 문제가 필요한 문제는 무조건 순서에 맞춰서 풉니다.
이 문제는 위상 정렬을 사용하면 쉽게 해결할 수 있습니다.
위상 정렬에 대한 포스팅 https://bcp0109.tistory.com/21
한가지 다른 점은 원래 위상 정렬은 결과값이 하나가 아닙니다.
간선에 따라서 여러 결과가 나오기도 하는데 이 문제는 무조건 숫자가 낮은 문제를 먼저 풀어야 한다고 딱 정했습니다.
그래서 위상 정렬을 구현할 때 일반 큐 대신에 우선순위 큐(PriorityQueue)를 사용합니다.
'알고리즘 문제 > 백준' 카테고리의 다른 글
백준 2075번. N 번째 큰 수 (Java) (0) | 2018.12.29 |
---|---|
백준 1005번. ACM Craft (Java) (0) | 2018.12.28 |
백준 2252번. 줄 세우기 (Java) (0) | 2018.12.28 |
백준 1182번. 부분집합의 합 (Java, Python) (2) | 2018.12.27 |
백준 2309번. 일곱 난쟁이 (Java) (0) | 2018.12.27 |