怪兽训练计划1
题目链接:https://www.luogu.com.cn/problem/T226636
题目描述
小明有一个怪兽训练计划。
初始时,怪兽充满能量,能量值为8800。如果训练怪兽,每分钟损耗能量值400;如果让怪兽休息,每分钟增加能量值200。能量的损耗和增加都是均匀变化的。
小明打算让怪兽训练一分钟、休息一分钟、再训练一分钟、再休息一分钟……如此循环,如果某个时刻怪兽的体力到达0,小明就停止训练怪兽。
请问小明在多久以后停止训练怪兽。请以秒为单位输出答案。答案钟只填写数,不填写单位。
输入格式
无
输出格式
输出为一个整数。
输入输出样例
无
解题思路:
1. 分两种情况讨论,当剩下的能量大于400的时候,怪兽既能训练也能休息,即每两分钟消耗200点能量。
2.当剩下能量小于400时,怪兽只能训练,需要求出从这个时候开始直至能量耗尽要多少时间。
3.由题目得知能量的损耗和增加都是均匀变化的,可以根据消耗速率求出最后一段需要的时间。
参考代码:
#include <iostream>
using namespace std;
#include<iostream>
using namespace std;
int main(){
int m = 8800;
double ans = 0;
while(m > 400){ //用while循环比较适合
m-=200;
ans+=120; //注意时间的单位是秒
}
ans += m/(40/6.0); //用剩余的能量除以消耗速率得出剩余时间 防止输出不是浮点数把6写为6.0
cout<<ans;
return 0;
}
浙公网安备 33010602011771号