[HDOJ]1008. Elevator

      很熟悉的问题,曾经考研时CYJJ应该考过这个题目的,十分简单,无算法可言,代码写在这里,也算是今天下午的功劳嘞,呵呵~真假
#include <iostream>
using namespace std;
int main()
{
    
int n;
    
while(cin>>&& n)
    
{
        
int *= 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;
}

posted on 2009-04-16 15:12  笔记  阅读(281)  评论(0编辑  收藏  举报

导航