題目描述
你是一個勇士,現在你準備去森林刷毛球怪,你有兩個屬性(血量,攻擊力),毛球怪也有這兩個屬性,
當你遭遇一只毛球怪時你們會進入戰斗,然后你和毛球怪輪流攻擊(你先手),每次使對方的血量減去自己攻擊力的數值,當一方的血量小于等于 0 時死亡,
現在你想知道在自己活著的前提下最多殺死幾只毛球怪,
輸入描述:
第一行一個正整數 t,代表測驗資料組數,
第二行四個正整數 h,a,H,A,代表你的血量和攻擊力以及毛球怪的血量和攻擊力,
所有整數大小不超過1000,
輸出描述:
共 t 行,每行一個整數x,代表最多能殺死多少毛球怪,如果能殺死無數只,輸出-1,
示例1
輸入
1
5 1 2 1
輸出
4
鏈接:https://ac.nowcoder.com/acm/contest/5026/A
來源:牛客網
解題
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int t, h, a, H, A;
cin >> t;
while(t--)
{
while(cin >> h >> a >> H >> A)
{
int time = ceil(double(H)/a);//我需要幾下打死怪獸,向上取整
if(time == 1)
{ //我先手,一次就ko,那可以無數次
cout << -1 << endl;
break;
}
cout << (h-1)/((time-1)*A) << endl;
//我保留1滴生命,然后先手,怪獸少打我一次,一只怪獸打我 (time-1)*A 滴生命
}
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75785.html
標籤:其他
