3614: 牛半仙的魔塔(第三轮04)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

牛半仙的妹子被大魔王抓走了,牛半仙为了就他的妹子,前往攻打魔塔。 魔塔为一棵树,牛半仙初始在一号点。

牛半仙有攻击,血量两个属性,并且牛半仙有一套盔甲,会为他增加防御。

除一号点外每个点都有魔物防守,魔物也有攻击,血量两个属性,并且魔物皮糙 肉厚,有一定的防御。

每打死一个魔物后牛半仙会获得一些经验,并且升级,每升一级牛半仙的盔甲能 增加 1 的防御。

牛半仙具有突袭属性,所以遇到魔物后会率先发动攻击,然后牛半仙和魔物轮换 地攻击对方。

一个角色被攻击一次减少的血量是对方的攻击减去自己的防御。 当一个角色的血量小于等于 0 时,他就会死亡。

当牛半仙第一次到达某个节点时会与这个节点的魔物发生战斗。

当一个魔物死亡后,这个魔物所在的节点就不会再产生新的魔物。 现在牛半仙想知道他打死魔塔的所有魔物后的最大血量。

输入

第一行一个 n 代表节点数。

随后 n − 1行,每行两个数 i,j,表示  i 与 j 节点有边相连。

随后一行,三个数,依次为勇士的血量、攻击、盔甲的防御。

随后 n − 1 行,每行四个数,依次为怪物的血量、攻击、防御, 和打完怪后提升 的等级。


输出

一个数,代表最大血量。如果牛半仙在打死魔塔的所有魔物之前血量就已经死亡 了,则输出-1。

样例输入 复制

6
1 2
1 3
1 4
4 5
5 6
50000 10 0
35 54 2 4
25 55 3 5
21 51 4 5
20 64 5 3
43 64 6 1

样例输出 复制

48901

提示

样例 1 说明】

打怪的顺序依次为 4, 3, 5, 2, 6 可以证明不存在更优的方案。


【数据范围】

对于 20%的数据:n ≤ 15。

又有 30%的数据:n ≤ 1000,且保证对于每一条边 (i,j), 一定满足 i = 1。

对于前 90%的数据:n ≤ 1000,且保证对于每一条边(i,j),一定满足 j = i + 1 或 i = 1。

对于最后 10%的数据:n ≤ 100000,且保证对于每一条边(i,j),一定满足 j = i +1  或 i = 1 。

对于 100%的数据:有王半仙血量=1018,攻击=2000,盔甲防御=0。怪物血量为 3000~106,攻击 5×105 -7×10^5,防御 1000,打完一只怪后提升的等级为 1~5。

来源/分类