CF 1141E Superhero Battle

https://codeforces.com/contest/1141/problem/E

题意:

  打boss, 技能循环n, 每次打掉血或者给boss加血, 每个循环是固定的,一个循环打完了就重新再来. 能打掉boss的话,输出攻击的次数, 否则输出-1.

思路:

  青蛙跳井类似.

  1个循环能打完么(一轮攻击最多打掉多少血)? max_damage

    可以的话直接模拟一轮攻击,看看需要多少次;

  1个循环打不完的话,以后有希望打死么(一轮攻击下来最后能打掉多少血)? loop_damage

    打不死直接放弃(输出-1);

  能打死的话, 留下来一轮攻击能打死的血量(max_damage), 其他的去除loop_damage看需要打多少轮.

    然后总hp去减去k轮循环对boss造成的damage; k*loop_damage

    剩余的去模拟一轮攻击,得出最终需要多少次.

猜你喜欢

转载自www.cnblogs.com/dutbyy/p/10603012.html