HDU 1049-Climbing Worm

    xiaoxiao2025-02-03  10

    题目链接

    题目分析

    题意

    一个毛毛虫在n英尺深的井里,它每分钟向上爬u英尺,然后休息1分钟,在休息的过程中向下滑落d英尺,重复上述过程,求爬出井共需要多久。

    思路

    向上爬的高度大于或等于井的高度时候的时间即为所求。

    代码

    #include<stdio.h> #define MAX 300 int main(){ //freopen("TXC.txt","r",stdin); int n,u,d; while(~scanf("%d%d%d",&n,&u,&d),n){ int t=0;//爬的时间 int s=0;//向上爬的英尺数 s+=u; t+=1; for(int i=0;i<MAX;i++){ if(s>=n){//向上与井的高度比较 printf("%d\n",t); break; } else{ s-=d;//向下落 t+=1; s+=u;//向上爬 t+=1; } } } return 0; }

    改进后

    #include<stdio.h> #define MAX 102 int main(){ //freopen("TXC.txt","r",stdin); int n,u,d; while(~scanf("%d%d%d",&n,&u,&d),n){ int t=0;//爬的时间 int s=0;//向上爬的英尺数 for(int i=0;i<MAX;i++){ s+=u;//向上爬 t++; if(s>=n){//向上与井的高度比较 printf("%d\n",t); break; } else{ s-=d;//向下落 t++; } } } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1296040.html
    最新回复(0)