AlgoMooc
← 返回题库

P3600. 获取食物游戏

中等通过率 73% · 提交 59 · 通过 43
DFS图论动态规划

小慕正在设计一个资源收集的模拟程序。 地图由 N 个节点组成,每个节点上至多 2 条有向边,通过边可将小慕的角色传送至指定的其它节点。 同时,每个节点上标注了三个数字: 第一个数字 id:代表节点的编号,从0到 N - 1,每个节点各不相同; 第二个数字 :代表从编号为parent-id的节点可以通过一条有向边到达当前节点(-1则表示没有任何节点能通过有向边到达此节点,这样的节点在地图中有且仅有一个); 第三个数字 value:取值在[100,100]的整数值之间,正整数代表小慕的角色获得相应数值单位的资源,负整数代表失去相应数值单位的资源(小慕的角色可能存在临时持有资源为负数的情况),0则代表无变化。 此外,地图设计时保证了小慕的角色不可能到达相同的节点两次,并且至少有一个节点的value是正整数。 模拟开始后,小慕的角色任意选择一个节点作为起点,当遇到下列情况之一结束模拟: 小慕的角色当前所在的节点无有向边; 小慕的角色在任意节点上主动选择结束模拟。 请计算小慕的角色在模拟结束后,最多可以获得多少单位的资源。

提示:带虚线的词点一下有通俗解释。

输入描述

7 0 1 8 1 -1 -2 2 1 9 4 0 -2 5 4 3 3 0 -3 6 2 -3

输出描述

9

示例

示例 1

输入

3
0 -1 3
1 0 1
2 0 2

输出

5

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。