zoukankan      html  css  js  c++  java
  • 贪心算法1006

    题目大意:

    有一栋电梯,从0层开始,有一系列请求,上一层需要6,下一层需要4,每一层停留5(包括相同层),求电梯完成请求所需时间

    解题思路:

    定义数组,第一次计算,下标为零的数组元素减去零为需要上升的层数,层数乘6,为完成上升时间,加五为所需时间,再与下一个请求比较,根据两个数的大小判断*5还是*6,然后+5;

    代码:

    #include <iostream>
    #include <algorithm>
    #include <math.h>
    using namespace std;
    int main()
    {
    
        int n,i,x=0,min=0,a[101];
        while(cin>>n)
        {
            if(n==0)
            break;
            for(i=0;i<n;i++)
                cin>>a[i];x=0;
                for(i=0;i<n;i++)
                {
                    if(a[i]>x)
                    {
                        min+=(a[i]-x)*6;
                        x=a[i];
    
                    }
                    else
                    {
                        min+=(x-a[i])*4;
                        x=a[i];
    
                    }
                    min+=5;
                }
                cout<<min<<endl;
                min=0;
        }
    
    
    
        return 0;
    }
  • 相关阅读:
    jq insertBefore 的返回值
    微信公众号-定位之地址逆解析&导航
    微信JS-SDK
    Vue
    ES6-函数的扩展
    ES6-数组的扩展
    JSP
    JS
    HTML+CSS
    jdbc操作数据库
  • 原文地址:https://www.cnblogs.com/Sikaozhe/p/5295584.html
Copyright © 2011-2022 走看看