HDU-1302 题解
The Snail
题目大意
一只蜗牛从水井往上爬,白天爬U米,晚上下降D米,水井高H米,多少天能够爬出水井?
注意蜗牛有一个疲劳因子F,每天上爬高度会下降第一天的F%(原题干用的是previous,不知道是不是写错了)
Time: 1000 ms
Memory: 32768 kB
解题思路及分析
写的时候发现怎么都不对,后来试了试发现是题错了
我最开始做的是中文题面,赛后去看了英文题目发现也是用的previous,不知道是我英语太拉还是题干写错了,previous只查到了上一次的意思。如有错误,欢迎英语大佬评论区指出
思路就是模拟,具体看代码
AC代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int H, U, d, F;
while (~scanf("%d%d%d%d", &H, &U, &d, &F) && H)
{
double u = U;
double h = H;
double f = 1.0 * F / 100;
double now = 0;
bool flag = true;
int i = 1;
while (1)
{
if (u > 0)
{
now += u;
u -= U * f;
}
if (u <= 0)
{
u = 0;
}
if (now > h)
{
flag = true;
break;
}
now -= d;
if (now < 0)
{
flag = false;
break;
}
i++;
}
if (flag)
{
printf("success on day %d\n", i);
}
else
{
printf("failure on day %d\n", i);
}
}
return 0;
}