일 사이에 선행관계가 존재하므로 위상정렬로 해결할 수 있습니다.
최종적으로 구해야하는 관계식은 아래와 같습니다.
while (현재 작업의 선행작업.size())
realworkTime[현재 작업] = max(realworkTime[현재 작업], realworkTime[선행작업])
realworkTime[현재 작업] += 현재 작업하는데 걸리는 시간
그리고 realworkTime[현재 작업] 값들 중에 max값이 정답이 됩니다.
코드: github.com/cotchan/algorithm/blob/main/cpp/BOJ/BOJ2056.cc
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1516번: 게임 개발 (0) | 2021.03.05 |
---|---|
[BOJ]1766번: 문제집 (0) | 2021.03.04 |
[BOJ]17088번: 등차수열 변환 (0) | 2021.02.23 |
[BOJ]12908번: 텔레포트 3 (0) | 2021.02.23 |
[BOJ]10282번: 해킹 (0) | 2021.02.08 |