T226670 怪兽训练计划2

题目描述

小明有一个怪兽训练计划。

初始时,怪兽充满能量,能量值为 n。如果训练怪兽,每分钟损耗能量值 a;如果让怪兽休息,每分钟增加能量值 b。能量的损耗和增加都是均匀变化的。

小明打算让怪兽训练一分钟、休息一分钟、再训练一分钟、再休息一分钟……如此循环,如果某个时刻怪兽的体力到达0,小明就停止训练怪兽。

请问小明在多久以后停止训练怪兽。请以秒为单位输出答案。答案钟只填写数,不填写单位。 (答案确保是整数)

输入格式

输入包含两行,第一行一个正整数 n,表示怪物的初始能量值。第二行两个正整数a,b,用空格隔开。

输出格式

输入为一个整数。

输入输出样例

输入:10000 600 300 输出:3880

代码及思路展示:

#include<iostream>
using namespace std;
int main()
{
int energy=0;
cin>>energy;//输入怪物的初始能量
int expend=0,rest=0;
cin>>expend>>rest;//输入每分钟训练和休息时的能量变化
int minn=0,second=0;//minn记录“训练休息”最多能进行的周期
//second记录最终要求得的结果
while(energy>expend)
{//当剩余的能量不满足再次训练满一分钟时结束循环
energy-=(expend-rest);//总的来说,每个周期(2min)怪兽的能量都是在减少的
minn++;//周期记录
}
second=minn*120+(energy/(expend/60.0));
//周期乘上120s在加上最后不能满足一分钟训练,但是在该分钟内某时刻消耗完能量的所需秒数
cout<<second;
return 0;
}

posted @ 2023-04-19 20:58  RDWang  阅读(48)  评论(0)    收藏  举报