杭电acm 1049 Climbing Worm

2010-08-21 16:20

效率很重要,觉得我这个效率会很高。。。前面用相除得到很接近的值,然后开始循环计算,。。。

#include<iostream>
using namespace std;
int main()
{
    int n,u,d;
    while(cin >> n >> u >> d,n)
    {   int m = (n-u)/(u-d);
        int s = (u-d)*m;
        int t = m*2;
        while(1)
        {
            if(s+u >= n)
            {   t++;
                break;
            }
            else
            {
                s+=u-d;
                t+=2;
            }
        }
        cout << t << endl;
    }
    return 0;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注