您的位置:首页 > 其它

0519 G2n#W2A-B 盐水的故事

2017-05-20 14:04 183 查看
摘要:模拟或计算判断按一定规律消耗的消耗总时长。

原题目:HDU - 1408

挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢? 

Input输入数据包含多个测试实例,每个实例占一行,由VUL和D组成,其中 0<D<VUL<5000。 

Output对于每组测试数据,请输出挂完盐水需要的时间,每个实例的输出占一行。 

Sample Input
10 1


Sample Output
13
来源: https://cn.vjudge.net/problem/description/28415?1495117206000

题目理解:数据量化为整数 的到滴数,再进行模拟或直接计算时间。结果为滴数加上间隔数

注意

    注意题目没有说不可以是小数。

    题目没滴一滴都要用时。

    题目最后点落到求滴数。

2017 05 19

代码:

#include <cstdio>

#include <cstring>

#include <algorithm>

#include <cmath>

using namespace std;



int getn(double num,double unit){

int t=(int)(num/(unit+1));


while(t*unit<num){//get t dot

t++;

}

if(t==1){

return 1;

}

int ans,sum=t;// how many times
for(ans=1;sum>0;sum-=ans,ans++);

//printf("%d-",ans);

return t+ans-1-1;

}


int main(){

double num,unit;

while(~scanf("%lf%lf",&num,&unit)){

printf("%d\n",getn(num,unit));

} 


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  A+B problem