BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #89641同步于 2016/4/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

华为第三题,怎么处理等不等魔法?

lee123
2016/4/13镜像同步2 回复
华为第三题,怎么处理等不等魔法? 题目: 某游戏中,玩家的任务是杀死终极BOSS。BOSS和玩家战斗方式为回合制,玩家先发动进攻。BOSS的攻击方式为:普通攻击和暴击,每4回合普通攻击的下一回合攻击为暴击。BOSS的普通攻击力为10点HP,暴击时的攻击力为普通攻击的3倍。玩家的攻击方式为:普通攻击和魔法攻击。玩家的普通攻击为17点HP,魔法攻击为60点HP。使用魔法攻击时需要消耗10点魔法值,魔法值来源有两种:初始魔法量和回合内选择魔法恢复,魔法恢复速度为4点/回合,魔法恢复回合内无法发动攻击。每轮回合开始时,玩家可以选择:普通攻击、魔法攻击或恢复魔法三种行动方式之一。现已知玩家的HP和初始魔法量,BOSS的HP,编写程序,求玩家战胜BOSS的最小回合数。 运行时间限制: 1 Sec 内存限制: 100 MByte 输入: 输入三个整数HP1(0<HP1<=10000),MP(0<MP<=1000),HP2(0<HP2<=10000),分别为玩家的HP、玩家的初始魔法量和BOSS的HP。 输出: 若玩家可以战胜BOSS输出战胜BOSS的最小回合数,否则输出-1。 样例输入: 100 20 100 样例输出: 2
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
Wizmann机器人#1 · 2016/4/13
游戏一共有N回合。 我们枚举有多少回合玩家使用普通攻击。再由此推算出有多少回合使用膜法攻击。再根据所需要的膜法值估算总共需要多少个回合恢复膜法(a.k.a 提升自己的姿势水平)。 时间复杂度为O(n)。所以就是大概(HP2/17)这个数量级。随便搞一下就好了嘛。
liyi5133机器人#2 · 2016/4/14
没有提交过,思路是这样的,也许有问题。 * 空魔法时,7个回合可以恢复20点魔法并魔法攻击两次,输出 120 * 7个回合纯物理输出119 所以BOSS的生命值足够多的时候,一直选择魔法输出效率是最高的 如果初始魔法有剩余,那么可以更早完成120的输出,而且7个回合总是一个循环 极限输出,我们分三个阶段:(每个阶段都要注意BOSS挂没有) 1 初始魔法攻击:消耗初始的魔法值进攻,之后会剩余部分魔法值 2 BOSS的剩余血量如果大于120,那么按照上面的推断,进行恢复、魔法输出 3 现在BOSS的血量降到了120或以下,比较魔法输出和物理输出的效率: 初始剩余魔法的影响如下: 0 1 2 3 4 5 6 7 ================================ 0 4 8 12 (2) 6 10 (0) 1 5 9 13 (3) 7 11 (1) 2 6 10 (0) 4 8 12 (2) 3 7 11 (1) 5 9 13 (3) 4 8 12 (2) 6 10 (0) 4 5 9 13 (3) 7 11 (1) 5 6 10 (0) 4 8 12 (2) 6 7 11 (1) 5 9 13 (3) 7 8 12 (2) 6 10 (0) 4 8 9 13 (3) 7 11 (1) 5 9 我们可以得到魔法输出的回合数 restHP <= 60: 0,1:4 2,3,4,5:3 6,7,8,9:2 60 < restHP <= 120 0,1,2,3:7 4,5,6,7:6 8,9:5 再比较restHP需要的物理输出回合得到最小的回合数。 计算这三个阶段的值求和可以得到打死BOSS需要的回合数,如果BOSS提前死了后面的阶段就不用算了。 BOSS的输出模式则是固定的,可以算出玩家生存的回合数,比较一下就能得出玩家能不能打死BOSS。 如果逻辑没问题的话,这么做复杂度是O(1)? 【 在 lee123 的大作中提到: 】 : 华为第三题,怎么处理等不等魔法? : 题目: : 某游戏中,玩家的任务是杀死终极BOSS。BOSS和玩家战斗方式为回合制,玩家先发动进攻。BOSS的攻击方式为:普通攻击和暴击,每4回合普通攻击的下一回合攻击为暴击。BOSS的普通攻击力为10点HP,暴击时的攻击力为普通攻击的3倍。玩家的攻击方式为:普通攻击和魔法攻击。玩家的普通攻击为17点HP,魔法攻击为60点HP。使用魔法攻击时需要消耗10点魔法值,魔法值来源有两种:初始魔法量和回合内选择魔法恢复,魔法恢复速度为4点/回合,魔法恢复回合内无法发动攻击。每轮回合开始时,玩家可以选择:普通攻击、魔法攻击或恢复魔法三种行动方式之一。现已知玩家的HP和初始魔法量,BOSS的HP,编写程序,求玩家战胜BOSS的最小回合数。 : ...................