zoukankan      html  css  js  c++  java
  • 1416电梯升降

    描述

    某城市最高的建筑只有一部电梯。一份电梯升降任务表由N个正整数组成,这些数字表示电梯按照给定的顺序停留的楼层号。
    电梯升一层花费6秒钟,降一层花费4秒钟,并且每次停留花费5秒钟。
    对于每一份任务表,你要计算出完成全部升降任务所花费的总时间。一开始,电梯在第0层,并且最终完成任务时电梯不必一定返回到0层。

    输入

    输入一个正整数N,接下来是N个正整数。
    在输入中,所有的数字都小于100。

    输出

    输出总时间。

    输入样例 1 

    1 2

    输出样例 1

    17


    输入样例 2 

    3 2 3 1

    输出样例 2

    41

    先定义一个变量n,用来输入要搭几次电梯。然后写一个for循环来循环输入要去的楼层。
    第一次从0层出发,所以肯定是往上,i==1时不判断往上还是往下,直接用累加器s加上输入的a*6。
    这里要注意每次循环的末尾要用b保存这一次输入的层数,下一次循环时用来做比较。
    第二次以及以后就需要先判断输入的a比上一次的b大还是小,大则s+=(a-b)*6,小则s+=(b-a)*4。


    代码:
     1 #include<bits/stdc++.h>
     2 #include<iomanip>
     3 using namespace std;
     4 int main()
     5 {
     6     int n,s=0,a,b;
     7     cin>>n;
     8     s+=n*5;
     9     for(int i=1;i<=n;i++)
    10     {
    11         cin>>a;
    12         if(i==1) 
    13         {
    14             s+=a*6;
    15         }
    16         if(a>b&&i!=1)
    17         {
    18             s+=(a-b)*6;
    19         }
    20         if(a<b&&i!=1)
    21         {
    22             s+=(b-a)*4;
    23         }
    24         b=a;
    25     }
    26     cout<<s;
    27     return 0;
    28 }
  • 相关阅读:
    VMware vSphere 6 序列号
    linux中网络配置
    Linux 磁盘分区、挂载
    linux中crontab任务调度
    linux组管理和权限管理
    linux运行级别
    linux中vi和vim文件操作命令
    Linux-用户分组相关以及处理密码遗忘
    linux远程登入、远程上传文件
    llinux重启、用户切换、注销命令
  • 原文地址:https://www.cnblogs.com/cyk20081108/p/14220116.html
Copyright © 2011-2022 走看看