ZOJ 1494 Climbing Worm

来源:互联网 发布:mastercam如何编程 编辑:程序博客网 时间:2024/05/22 13:03

ZOJ 1494 Climbing Worm {4491}

        题意:一只蜗牛每分钟从井底爬一定距离,然后的一分钟往下掉一定距离,如果爬的那一分钟没结束就到井口了,算一分钟,如果爬的那一分钟正好到井口,就不往下掉了。给井深,每分钟爬和掉的距离,求爬出井口时间。

        思路:这是很久以前在活动室A的杭电上一道相同的题。如果前一分钟爬的时候没到井口,就一定有往下掉的距离和时间,把这两份距离和时间循环累加,直到下一分钟爬的距离大于等于到井口的距离,累加这一分钟。

        代码其实可以小完善一下,见注释。

       

#include<stdio.h>int main(){int n,u,d,i,t;while(scanf("%d%d%d",&n,&u,&d)!=EOF){if(0==n&&0==u&&0==d)break;if(n<=u){t = 1;}else{for(i = 1;;i++)//这里 i 从 0 开始,就不须要再像上面单独列出第一分钟的情况,每分钟都是一样的,以此类推。if(n<=(u-d)*i+u)break;t = 2*i+1;}printf("%d\n",t);}    return 0;}


 

原创粉丝点击