题目大意:电梯从 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;
}
网友评论