网易笔试的一题。。。
小明做了一个简易的魔塔游戏。
在小明的设计中,主角和怪物都有攻击力防御力和生命值三个属性。一共有n个怪物,且主角与怪物战斗的顺序是固定的。每场都要主角先手,双方轮流攻击,实际照成的伤害等于攻击力减去对方的防御力,(伤害小于零按零计算),直到一方的生命值归零之后战斗结束。另外,主角还有一个被动技:
【回复】在主角发动攻击时,如果上海值大于敌人剩余的生命值,那么溢出的伤害会为自己回复等量的生命。
在整个过程中,如果主角生命值变为零,会立即死亡,挑战失败。请问主角初始生命值至少为多少,才能通关。
输入:
第一行为一个整数t,表示数据组数。
对于接下来的每组,第一行为一个正整数n,表示怪物的数量。
第二行为两个整数a和b,表示主角的攻击力和防御力。
接下来n行,每行三个整数ai,bi和hi,表示第i的怪物的攻击防御生命值。
输出:
对于每组数据,输出一行一个正整数表示主角能保证通关的最小初始生命值,如果主角无论如何也不能通关,则输出-1。
#include<iostream>
#include<vector>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int a, b;
cin >> a >> b;
vector<int> monster;
vector<vector<