Acm 蜗牛!快爬!我的方法

蜗牛快爬的题为:蜗牛!快爬!

Problem Description

很久以前有一只蚂蚁,某天在路上走着走着,突然看见了一只蜗牛,爬的很慢。心想自己虽然比它小,可是跑得比它快,于是蚂蚁想跟蜗牛进行一次马拉松比赛,想证明它的实力。蚂蚁跟蜗牛商量后决定在星期六下午进行马拉松比赛。

Theday is coming….比赛跑道为一条直线,Unlucky!!跑道上有很多坑。注意哦,坑!蜗牛想知道它掉下坑底后,爬上来需要多少时间,你的任务是帮忙蜗牛算出它掉入每个坑后,从坑底爬上来的时间,蜗牛每爬半个小时,就得休息半个小时,休息的时候,蜗牛会往下掉一定的深度。坑的深度,往上爬的高度以及休息时往下掉的深度给定。

 

 

 

Input

输入第一行包含一个整数N(0<=N<=1000),表示跑道上坑的数量。

接下来N行,代表N个坑的测试数据,每组测试数据占一行,包含三个整数H、i、j(用一个空格分开),代表坑的深度、往上爬的高度、休息时往下掉的深度。(0<=H、i、j<2^16)

 

 

Output

对于每一个坑,输出蜗牛爬上岸所需要的时间(采用进一法,单位:小时)。不能爬上来则输出“Neversee sun!”

 

 

Sample Input

2

10 10 0

10 0 0

Sample Output

1

Never see sun!



解题思路:

1:首先要考虑到能不能爬出,就是考虑h,i,j三者的关系,如果i<j,可能会爬出,就是i>=h,一次就行了,但是当i<h时就不能爬出了。所以先考虑不能爬出的。

2:再考虑能爬出的

答案1:#include<iostream>

usingnamespace std;

intmain()

{

       int n,a,b,c;

       cin>>n;

       while(n--)

       {

              int m,i,k,t;

              cin>>a>>b>>c;

              if(a<=b)

              {

                     t=1;

                     cout<<t<<endl;

              }

              else if(b<=c)

              {

                            cout<<"Neversee sun!"<<endl;

                    

              }

              else

              {

                     k=(a-b)%(b-c);

                     m=(a-b)/(b-c);

                 if(k)

                     i=1;

                 else

                            i=0;

                     cout<<m+i+1<<endl;

              }

       }

return0;

}

答案2:#include<iostream>

usingnamespace std;

intmain()

{

intk,i,m,n,h;

while(cin>>k)

{

  cin>>h>>m>>n;

   int s=0;

  if(m<=n&&m<h)

     cout<<"Never seesum!"<<endl;

   else

   {

         for(i=1;i<=(h/(m-n));i++)

         {

          s+=m;

         if(s>=h)

           break;

         else

           s-=n;

         }

   cout<<i<<endl;

   }

}

return0;

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值