[HDOJ]1008. Elevator
很熟悉的问题,曾经考研时CYJJ应该考过这个题目的,十分简单,无算法可言,代码写在这里,也算是今天下午的功劳嘞,呵呵~真假
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n && n)
{
int *p = new int[n];
int t,time_sum = 0;
for(int i = 0;i < n;++i)
{
cin>>t;
p[i] = t;
}
//先把从0层上升到第一个请求的层数所需要的时间加上
time_sum = time_sum + p[0]*6;
for(int i = 1;i < n;++i)
{
//逐层的去判断每到一层(上升或者下降)分别需要多长时间
if((t = p[i] - p[i -1]) > 0)
time_sum += t*6;
else
time_sum += (-t)*4;
}
//把在每层停留所需要的时间加上
time_sum += n*5;
delete []p;
cout<<time_sum<<endl;
}
return 0;
}































我没有什么雄心壮志,我只想给自己和关心自己的家人和朋友一个交代,仅此而已。