2056 : 작업

풀이

간단한 다이나믹으로 풀어도 되고
위상정렬스럽게 풀어도 된다

코드

#include <cstdio>
#include <algorithm>
using namespace std;

int n, res, dp[10001];

int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        int c, m, x;
        scanf("%d %d", &c, &m);
        for (int j = 0; j < m; j++) {
            scanf("%d", &x);
            dp[i] = max(dp[i], dp[x]);
        }
        res = max(res, dp[i] += c);
    }
    printf("%d", res);

    return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-08-31 20:34

Read more posts by this author