
源代码如下:
#include<iostream>
using namespace std;
int main()
{
int i,n;
while(cin>>n)
{
if(n==0)
break;
int* a=new int[n];
int sum=0;
for(i=0;i<n;i++)
cin>>a[i];
sum=a[0]*6+5;
for(i=1;i<n;i++)
{
if(a[i]>a[i-1])
sum+=(a[i]-a[i-1])*6+5;
else if(a[i]==a[i-1])
sum+=5;
else
sum+=(a[i-1]-a[i])*4+5;
}
cout<<sum<<endl;
}
return 0;
}
在编写代码过程中不可忽视a[i]==a[i-1]电梯停留增加等待时间的情况。
本文介绍了一个基于输入序列的电梯路径算法实现案例。该算法通过分析电梯楼层请求序列,计算出电梯运行过程中的总时间,特别考虑了当前楼层与下一目标楼层相同情况下的等待时间。通过对不同楼层请求间的比较,采用不同的计时规则来模拟实际电梯运行逻辑。
328

被折叠的 条评论
为什么被折叠?



