1.题目描述:
有一个虫刚开始在h1的高度,有个苹果在h2的高度,已知其白天每小时爬a米,夜晚滑落b米每小时. 并且规定白天时间是10~22.有个小孩每天2点下课.他想看到虫吃到苹果的场景,问第几天他能看到?
3.解题思路:
理清楚关系的话典型的模拟,注意的点一个是如果下降高度比爬高度还多,则直接判断第一天是否能到达目的地,不能则-1,之后的情况直接判断毛毛虫是否在下午两点以后到达即可
4.AC代码:
#include <stdio.h>
using namespace std;
int h1, h2, a, b;
int main()
{
scanf("%d%d%d%d", &h1, &h2, &a, &b);
if (a <= b)
{
if (h1 + 8 * a < h2)
{
puts("-1");
return 0;
}
}
if (h1 + 8 * a >= h2)
{
puts("0");
return 0;
}
int h = h2 - h1 - 8 * a;
int d = (a - b) * 12;
int ans = h / d;
if (h % d)
ans++;
printf("%d\n", ans);
return 0;
}