您的位置:首页 > 其它

HDU 1408 盐水的故事

2015-08-15 22:27 387 查看
HDU 1408 盐水的故事

Problem Description

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

Input

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

Output

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

Sample Input

10 1

Sample Output

13

最坑的是,这道题的输入是浮点数╥﹏╥……

要用double类型的数据

思路:首先算如果没有间隔需要多少秒,然后再计算中间有多少秒间隔

加起来就行了

[code]#include<iostream>
#include <cstdio>
#include <math.h>
using namespace std;

int main()
{
#ifndef ONLINE_JUDGE
    freopen("1.txt", "r", stdin);
#endif
    double d, vul, x ,t1 ;
    int t, count, sum;
    while(~scanf("%lf%lf", &vul, &d))
    {
        t1 = vul/d;
        if (fabs(t1-(int)t1) > 1e-6)
        {
            t1++;
        }
        count = 0;
        sum = 0;
        while(1)
        {
            count++;
            if (sum + count >= t1)
                break;
            sum += count;
        }
        t = count + (int)t1 - 1;

        printf("%d\n", t);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: