其他分享
首页 > 其他分享> > 7-92 爬旗杆 (15分)

7-92 爬旗杆 (15分)

作者:互联网

7-92 爬旗杆 (15分)
小C从小很调皮, 调皮的小孩聪明啊。小C的小学有一根金属旗杆, 每天做早操前,小朋友们都要举行升国旗仪式,小C每次看到国旗徐徐上升,边唱国歌、边敬礼、边发呆。一天小C突然想爬到旗杆顶,有想法就要付诸行动。已知旗杆n米高,小C爬行速度为x米/秒,因为旗杆很滑,爬行很费力,小C体力有限,所以每过t秒,要休息2秒, 也因为旗杆滑,不爬行时,小C会从旗杆上滑下来,下滑的速度为y米/秒。

输入格式:
多组测试数据, 每行输入4个整数n x y t。 (1<=n,x,t,y<=1000)

输出格式:
输出小C到达杆顶的时间,精确到秒,如果小C到达不了杆顶,输出-1。每个输出占一行。

输入样例:
在这里给出一组输入。例如:

5 4 4 2
9 4 4 2

输出样例:
在这里给出相应的输出。例如:

2
-1

#include <stdio.h>
#include <math.h>
void fac(int x,int y,int n,int t){
int s=0,T=0;
if(x*t<=2*y&&n>x*t){//无法在时间t内爬上杆,且下滑的距离大于往上爬的距离
    printf("-1\n");
}
else{
    while(n){
        s=s+x;
        T++;
        if(s<n&&T%t==0){
            s=s-2*y;
            T=T+2;//下滑,时间增加
        }
        if(s>=n){
            printf("%d\n",T);
            break;
        }
    }

}

}
int main()
{
    int n,x,y,t;
    while(~scanf("%d%d%d%d",&n,&x,&y,&t)){
        fac(x,y,n,t);
    }
    return 0;
}

标签:旗杆,15,输出,int,爬行,d%,92,输入
来源: https://blog.csdn.net/AQACXHSH/article/details/111995719