本文主要是介绍zzuli:1121电梯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需6秒,下降一层需4秒,在需要停留的那层停留5秒。现有N个整数组成的一个需求列表,电梯将依次响应,电梯从0层开始运行,而在运行过程结束之前不会返回0层。
注意,若出现相邻两个整数相等,代表在同一层执行了两个不同任务,可以理解为:电梯已经停了5秒,正要关门时又有人在同一层按开门键,电梯又开门并停留5秒。
输入
输入分两行,第一行是一个正整数N(N<=1000),代表停留几次,第二行的N个数字代表这几次依次停留的楼层。
输出
输出电梯完成该任务序列所需的时间,单独占一行。
样例输入 Copy
3 2 3 1
样例输出 Copy
41
提示
电梯从0层上升到2层运行时间为12秒,停留5秒,再上升第三层,运行时间6秒,停留5秒,再下降到第一层,运行时间8秒,停留5秒。共41秒。
#include <stdio.h>
int time(int N,int a[]);
int main()
{int y,i,j,N;int a[1000];scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d",&a[i]);}y=time(N,a);printf("%d",y+N*5);return 0;
}int time(int N,int a[])
{int t=0,i,s=0,sum=0;a[0]=0;for(i=1;i<=N;i++){s=a[i]-a[i-1];if(s>0){t=s*6;}else if(s<0){t=(-1)*s*4;}else{t=0;}sum=sum+t;}return sum;
}
这篇关于zzuli:1121电梯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!