洛谷 CF652A 题解
题目传送门
题意:
有一只毛毛虫,从高度为 \(h1\) 的地方爬到高度为 \(h2\) 的地方。它在白天每小时上升 \(a\) 厘米,晚上每小时下掉 \(b\) 厘米。问到第几天的下午 \(2\) 点及以前,毛毛虫能到达 \(h2\)。
思路:
这道题就是简单的分类讨论,有以下几种情况:
- 永远无法到达,即下降速度大于等于上升速度并且在第一天白天无法爬到终点,输出 \(-1\)。
code:
if(a<=b && h1+a*8
- 在第一天白天就可以到达,不用判断晚上,输出 \(0\)。
code:
else if(h1+8*a >= h2){
cout<<0<
- 直接模拟每天的情况,直到到达 \(h2\) 为止,最后输出爬的天数即可。
code:
else{
long long day=1;
h1+=a*8-12*b+12*a;
while(h1