航电oj 1008

2019-02-01  本文已影响0人  欢城深喟

题目链接

题目大意:电梯从 0 层开始,向上一层用时 6 s,向下一层用时 4 s,在某一层上下人时停留 5 s。给出 n 个楼层号,计算按顺序电梯总共的用时。

#include<stdio.h>

int main(){
    int floor[100];
    int n;
    while(scanf("%d",&n) != EOF){
        if(n == 0) return 0;

        int up=0,down=0; //分别保存电梯需要上升的总层数和下降的总层数
        int tmp = 0; //当前层
        
        for(int i=0;i<n;i++){ //n个需要到的楼层号
            scanf("%d",&floor[i]);
        }

        for(int j=0;j<n;j++){ //计算上升和下降的总层数
            if(floor[j] > tmp){ //电梯需要上升
                up += floor[j] - tmp;
            }else{ //floor[j]不会等于tmp
                down += tmp - floor[j];
            }
            tmp = floor[j];
        }

        int time = up*6 + down*4 + n*5;
        printf("%d\n",time);
    }
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读