一道水题,一个电梯上升需要6秒,下降需要4秒,停下等待需要5秒,然后算总共的时间就好了= =不过要注意数据2 1 1的结果是16不是11.....明明都在一层了为何还要停两次啊= =一开始我以为都在一层就没加5,好吧,加上之后AC了,下面代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[105];
int main()
{
int n,m,ans;
int i;
while(scanf("%d",&n)!=EOF)
{
m=0;
ans=0;
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(m<a[i])
{
ans=ans+(a[i]-m)*6+5;
m=a[i];
}
else if(m>a[i])
{
ans=ans+(m-a[i])*4+5;
m=a[i];
}
else
{
ans=ans+5;
m=a[i];
}
}
cout<<ans<<endl;
}
return 0;
}
本文介绍了一个简单的算法问题:计算电梯在一系列楼层间上下移动所需的总时间。考虑到了电梯上升、下降及停止等待所需的时间。
1101

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



