欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HDU 1008

程序员文章站 2024-03-17 08:43:58
...

HDU 1008

这道题用来计算电梯上下过程中所花费的时间的和,我们使用vector来存储输入的楼层,通过比较前后楼层的大小来判断是上楼还是下楼,将分段花费的时间加起来即可!

AC代码:

#include <iostream>
    #include <stdlib.h>
    #include <vector>
    #include <cmath>

    using namespace std;

    int N;

    int main()
    {
        int x;
        while(cin>>N){
            vector<int> floor;
            floor.push_back(0);
            int time=0;
            if(N==0)
                break;
            for(int i=0;i<N;i++){
                    cin>>x;
            floor.push_back(x);
            }
            for(int i=0;i<N;i++){
                if(floor[i+1]>floor[i]){
                    time+=(floor[i+1]-floor[i])*6+5;
                }else if(floor[i+1]<floor[i]){
                    time+=(floor[i]-floor[i+1])*4+5;
                }else
                    time+=5;
            }
            cout<<time<<endl;
        }
        return 0;
    }
    /*
    1 2
    3 2 3 1
    0
    */