编程题
### 问题描述 小蓝最近迷上了一款电玩游戏“蓝桥争霸”。这款游戏由很多关卡和副本组成,每一关可以抽象为一个节点,整个游戏的关卡可以抽象为一棵树形图,每一关会有一道算法题,只有当经验值**不低于**第 $i$ 关的要求 $k_i$ 时,小蓝才能挑战成功通过此关,并且获得 $s_i$ 的经验值,**每关的经验值只能获得一次**。每个关卡(除了 $1$ 号点),都会有一个前置关卡,只有通过了前置关卡,才能挑战后续关卡。 小蓝初始在 $1$ 号点,也就是游戏开局初始点,同时具有一个初始经验值 $P$,他可以任意规划挑战顺序,他想问你最多能够挑战成功多少道题。 小蓝会告诉你关卡的所有信息,以及他的初始经验值,你需要回答他最多能够挑战成功多少关卡。 ### 输入格式 第一行输入两个整数 $n,P$,表示关卡的数量以及小蓝的初始经验值。 接下来 $n$ 行,每行输入三个整数 $f_i, s_i, k_i$,$f_i$ 表示每一关的前置关卡( $f_1$ 一定为 $0$ ),$s_i$ 表示经验值,$k_i$ 表示挑战成功最少需要的经验值。 ### 输出格式 一个整数,表示在最优的规划下,最多能挑战成功的关卡数量。 ### 样例输入 ``` 4 5 0 3 5 1 2 8 1 3 9 3 1 15 ``` ### 样例输出 ``` 3 ``` ### 说明 游戏地图如下: ![关卡描述](https://dn-simplecloud.shiyanlou.com/questions/uid1792586-20231016-1697427185202) 小蓝初始点在 $1$ 号关卡,初始经验为 $5$。每个关卡具有挑战前提:$1$ 号关卡可以直接挑战,如果要挑战 $2$ 号关卡,必须通过 $1$ 号关卡,$3,4$号关卡类似。 小蓝的一种挑战顺序如下: 1. 由于初始经验为 $5$,满足 $1$ 号关卡要求,所以可以直接挑战成功 $1$ 号关卡,获得 $3$ 经验值,此时经验值为 $8$,并且获得挑战 $2,3$ 号关卡的机会。 2. 此时经验为 $8$,满足 $2$ 号关卡要求,但是不满足 $3$ 号要求,所以可以直接挑战成功 $2$ 号关卡,获得 $2$ 经验值,此时经验值为 $10$。 3. 此时经验为 $10$,满足 $3$ 号关卡要求,所以对 $3$ 号关卡挑战成功,获得 $3$ 经验值,此时经验值为 $13$,并且获得挑战 $4$ 号关卡的机会。 4. 此时经验为 $13$,小于 $4$ 号关卡要求,所以无法成功挑战 $4$ 号关卡,游戏无法继续。 ### 评测数据范围 $ f_1 = 0 \lt f_i \le n \le 10^5, 0 \le P,s_i,k_i\le 10^9$。 数据保证输入为一棵树,并且根节点为 $1$。
查看答案
赣ICP备20007335号-2