#Q1037. 勇者的冒险之战
勇者的冒险之战
题目背景
在一个遥远的魔法世界中,玩家扮演一名勇敢的战士,准备踏上征途,挑战怪物并保护村庄。怪物们各具特色,有强力的攻击力,也有顽强的生命力。勇者的任务就是逐一击败这些怪物,证明自己的勇气与智慧。
有一天,勇者站在一个幽深的森林入口处,前方传来怪物们的咆哮声。每个怪物都拥有自己的攻击力和血量,勇者需要凭借自己的攻击力和血量,与它们一一战斗。
每一场战斗,勇者和怪物将轮流攻击。勇者每次攻击怪物时会减少怪物的血量,而怪物也会在勇者攻击后进行反击。每场战斗结束后,勇者的血量不会恢复,直到他最终倒下。现在,勇者需要你来帮助他计算,他能打败多少只怪物?
题目描述
森林里共有只怪物,其中第个怪物的攻击力和血量表示为和。玩家的攻击力和血量表示为和。
玩家与怪物的战斗按第只怪物、第只怪物、... 、第只怪物的顺序进行。每场战斗遵循回合制规则:
- 玩家先攻击,减少怪物血量。
- 如果怪物的血量减少到或以下,怪物死亡,玩家可以继续下一场战斗。
- 如果怪物还活着,怪物会攻击玩家,减少玩家血量。
- 如果玩家的血量减少到或以下,玩家死亡,游戏结束。
- 如果玩家和怪物都活着,则继续进行下一回合。
注意:
- 玩家每次战斗后的血量不会恢复。
你需要编写程序,计算玩家能够击败多少只怪物。
输入要求
- 第一行输入一个整数,表示怪物的数量。
- 接下来行,每行包含两个整数和,表示第 个怪物的攻击力和血量。
- 接下来一行包含两个整数和,表示玩家的攻击力和血量。
输出要求
输出一个整数,表示玩家能够击败的怪物数量。
样例
3
10 50
5 30
8 40
15 50
2
数据规模与约定
的输入数据,满足 。
样例说明
在此例中,玩家的攻击力为15,血量为50。怪物的攻击力和血量如下:
第1个怪物:攻击力10,血量50。 第2个怪物:攻击力5,血量30。 第3个怪物:攻击力8,血量40。 玩家会依次与怪物战斗:
- 第一场战斗:玩家攻击怪物1后,怪物的血量剩下35。然后怪物攻击玩家,玩家的血量减少10。继续进行回合制攻击,最终怪物1共承受了4次玩家攻击才死去,在怪物1死前共攻击了3次玩家,使玩家血量变为20。
- 第二场战斗:玩家攻击怪物2后,怪物血量剩下15。怪物攻击玩家后,玩家血量剩余15。第二回合中,玩家攻击怪物2后,怪物死去。此时玩家血量剩余15。
- 第三场战斗:玩家攻击怪物3后,怪物血量剩下25,怪物反击后,玩家血量变为7。第二回合中,玩家攻击怪物3后,怪物血量剩下10,怪物反击后,玩家死亡,游戏结束,未能击败怪物3。
所以,玩家最终可以击败2只怪物。