题目描述
你是一个勇士,现在你准备去森林刷毛球怪,你有两个属性(血量,攻击力),毛球怪也有这两个属性。当你遭遇一只毛球怪时你们会进入战斗,然后你和毛球怪轮流攻击(你先手),每次使对方的血量减去自己攻击力的数值,当一方的血量小于等于 0 时死亡。现在你想知道在自己活着的前提下最多杀死几只毛球怪。
输入描述:
第一行一个正整数t,代表测试数据组数。
第二行四个正整数h,a,H,A,代表你的血量和攻击力以及毛球怪的血量和攻击力。
所有整数大小不超过1000。
输出描述:
共 t 行,每行一个整数x,代表最多能杀死多少毛球怪。如果能杀死无数只,输出-1。
示例1
输入
1
5 1 2 1
输出
4
#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
int x,y,a,b;
while(t--)
{cin>>x>>y>>a>>b;//血量,攻击力
int ans=0;
while(x>0&&y<a)
{int numi=a/y;
int numy;
if(a%y==0)
numy=numi-1;
else
numy=numi;
x=x-numy*b;
ans++;
}
if(y>=a)
{cout<<"-1"<<endl;
continue;
}
cout<<ans-1<<endl;
}
}