1948 임계경로
2019. 6. 10. 19:46ㆍ알고리즘/백준
Critical Path라고 불리는 알고리즘으로, 위상 정렬을 기반으로 시작한다
해당 알고리즘의 목적은 시작점에서 도착점으로 가는 경로가 몇개가 있는 것이 구하는 것이다
위상 정렬을 통해서 각 노드마다 최대로 걸리는 시간을 구할 수 있고, 다시 도착점에서 bfs를 하면서 노드의 거리가 각 노드 max 시간의 거리의 차와 같은지 비교할 수 있다
단, 각 노드는 여러 번 방문할 수 있다. 만일 각 도로의 길이가 모두 같은 상태라면 1은 2번을 방문해야 한다. 따라서 노드는 계속 방문하되 큐에는 한 번만 넣어주는 것이 맞다
문제: https://www.acmicpc.net/problem/1948
https://github.com/surinoel/boj/blob/master/1948.cpp
'알고리즘 > 백준' 카테고리의 다른 글
1922 네트워크 연결 (0) | 2019.06.14 |
---|---|
16959 체스판 여행 1 (0) | 2019.06.13 |
1516 게임개발 (0) | 2019.06.10 |
2056 작업 (0) | 2019.06.10 |
1766 문제집 (0) | 2019.06.10 |