问题 B: HH生病了
时间限制: 1 Sec 内存限制: 128 MB提交: 325 解决: 91
[ 提交][ 状态][ 讨论版]
题目描述
HH很不幸的感冒了,只好去校医院去挂盐水,挂盐水的时候,他发现盐水滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一 下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也 算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?
输入
输入数据占一行,由VUL和D组成,其中0< D< VUL< 5000。
输出
请输出挂完盐水需要的时间。
样例输入
10 1
样例输出
13
#include<cstdio>
#include<cstdlib>
#include<cstring>
using
namespace
std;
int
main()
{
int
t;
int
v,d,x,s;
while
(
scanf
(
"%d%d"
,&v,&d)!=EOF){
t=0;x=1;s=d;
while
(v>0){
v=v-d;
if
(v<0){
v=v+d;
while
(v>0){
v=v-s;
t=t+1;
}
}
else
t=t+x;
d=d+s;
if
(v>0)
t=t+1;
x=x+1;
}
printf
(
"%d\n"
,t);
}
return
0;
}
/**************************************************************
Problem: 1136
Language: C++
Result: 正确
Time:4 ms
Memory:816 kb
****************************************************************/