알고리즘 문제 풀이/Python

python 백준 2056 작업

맛대 2024. 10. 2. 16:06

https://www.acmicpc.net/problem/2056

문제 해석

  • 작업에는 선행되어야 할 작업이 있다

  • 작업들은 정렬이 잘 되어 있어 K번 작업에 필요한 선행작업은 K-1번째 작업 이하로만 구성되어 있다

  • 그렇기에 graph를 그려 선행 작업들을 기록해둘 필요가 없다

  • 1번부터 N번까지 작업들을 순회

  • 해당 작업에 필요한 시간 + 선행 작업이 완료되는데 걸리는 시간을 구한다

import sys
input = sys.stdin.readline

N = int(input())
check = [0]*(N+1)
for node in range(1,N+1):
    time,P,*works = map(int,input().split())
    if P:
        added_time = 0
        for work in works:
            added_time = max(added_time,check[work])
        time += added_time
    check[node] = time
print(max(check))

'알고리즘 문제 풀이 > Python' 카테고리의 다른 글

python 백준 5212 지구 온난화  (0) 2024.11.01
python 백준 14620  (0) 2024.10.31
python 백준 수영장 만들기  (0) 2024.08.21
python 백준 17484 진우의 달 여행  (1) 2024.08.19
python 백준 13913 숨바꼭질 4  (0) 2024.07.12