#C09L05P02. C09.L05.线性DP.练习2.圣诞树(tree)

C09.L05.线性DP.练习2.圣诞树(tree)

题目描述

圣诞特别礼物挂在一棵圣诞树上,这棵树有 n 层,每层有一件礼物,每件礼物都有一个价值,有的礼物还有一些连接线,与下层的礼物相连。

领取礼物的规则如下:任选一件礼物,它的下面如果有连接线,则可以继续取它连接的礼物,依此类推直至取到没有连接线的礼物才结束。你如果是第一个去取,怎样取才能获得最大的价值呢?请你编一程序解决这一问题。

输入格式

第 1 行只有一个数据 n ( n ≤ 100 ),表示有 n 层礼物,以下有 n 行数据,分别表示第 1~n 层礼物的状态,每行至少由一个数据构成,且第一个数据表示该礼物的价值,后面的数据表示它与哪些层的礼物相连,如果每行只有一个数据则说明这层礼物没有与下层礼物相连,每个数据大小均不超过 10000 。

输出格式

一个整数,表示获得的最大价值。

样例

3
12 2 3
20
30
42