Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12257
  • 博文数量: 8
  • 博客积分: 280
  • 博客等级: 二等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-05 22:44
文章分类

全部博文(8)

文章存档

2011年(1)

2009年(7)

我的朋友
最近访客

分类: C/C++

2009-05-13 21:55:19

Problem :     Judge Status : Accepted
RunId : 1364870    Language : C++    Author :
Code Render Status : Rendered By HDOJ C++ Code Rander Version 0.01 Beta
#include 
using namespace std;
int main() {
    int n, u, d;
    while(cin>>n>>u>>d && n != 0) {
        int x=0;
        while(n>0) {
            x++;
            n -= u;
            if(n<=0) break;
            x++;
            n += d;
        }
        cout<<x<<endl;
    }
    return 0;
}
代码至上,不是最好,只是说明一个问题,写代码的时候其实不用给电脑考虑的太多,没必要推什么公式,模拟就可以了,其他的计算交给计算机吧!当然计算量级不能太大。自己把握下吧。。。
此题是数学提,下见数学解法---公式为------n<=(u*(t+1/2)-d*(t-1/2))
 
 
Problem :     Judge Status : Accepted
RunId : 1364948    Language : C++    Author :
Code Render Status : Rendered By HDOJ C++ Code Rander Version 0.01 Beta
#include 
using namespace std;
int main()
{
    float n,u,d;
    int t;
    while(cin>>n>>u>>d&&n+u+d)
        {
           t=(int)((2.0*n-u-d)/(u-d)+0.5);
           t%2==0?cout<<t+1<<endl:cout<<t<<endl;
        }
    return 0;
}
阅读(320) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~