#abc137e. [abc137_e]Coins Respawn
[abc137_e]Coins Respawn
问题描述
给定一个有 个顶点编号为 到 的有向图,以及 条边。第 条边从顶点 指向顶点 ,该边上放置了 枚硬币。此外,顶点 上有一个按钮。
我们在该图上玩一个游戏。你从顶点 开始,没有任何硬币,通过遍历边缘并收集硬币前往顶点 。遍历一条边需要一分钟,并且每次遍历可以收集沿途放置的硬币。与其他游戏一样,即使你遍历一条边并收集了硬币,下一次遍历该边时也会重新出现相同数量的硬币,你可以再次收集。
当你到达顶点 时,你可以按下按钮结束游戏(你也可以选择离开顶点 而不按下按钮继续旅行)。然而,当你结束游戏时,你将被要求支付 枚硬币,其中 是游戏开始后经过的分钟数。如果你的硬币少于 枚,你将不得不支付所有的硬币。
你的分数将是支付后剩下的硬币数。判断是否存在可以达到的最大分值。如果答案是肯定的,请找出最大值。
约束条件
- 输入中的所有值都是整数。
- 可以从顶点 到达顶点 。
输入
输入以标准格式给出,格式如下:
输出
如果存在可以达到的最大分值,请输出该最大分值;否则,输出 -1
。
示例输入 1
3 3 10
1 2 20
2 3 30
1 3 45
示例输出 1
35
从顶点 到顶点 有两种方式:
- 顶点 :沿途收集 枚硬币。从游戏开始后的两分钟后,你按下按钮,支付 枚硬币,剩下 枚硬币。
- 顶点 :沿途收集 枚硬币。从游戏开始后的一分钟后,你按下按钮,支付 枚硬币,剩下 枚硬币。
因此,可以获得的最大分值是 。
示例输入 2
2 2 10
1 2 100
2 2 100
示例输出 2
-1
从顶点 沿着指向顶点 的边遍历,然后再通过指向自身的边遍历 次并按下按钮,你的分数将是 。因此,你的分数可以无限增加,这意味着不存在可以达到的最大分值。
示例输入 3
4 5 10
1 2 1
1 4 1
3 4 1
2 2 100
3 3 100
示例输出 3
0
除了直接遍历从顶点 到顶点 的边缘之外,没有其他方式可以从顶点 到达顶点 。你会在这条边上捡起一枚硬币,但在被要求支付 枚硬币后,你的分数将是 。
请注意,如果你遍历从顶点 到顶点 的边缘,你可以收集无限多的硬币,但这是没有意义的,因为你无法再到达顶点 并结束游戏。