博客
关于我
1008. Elevator (20)
阅读量:798 次
发布时间:2023-03-23

本文共 1361 字,大约阅读时间需要 4 分钟。

电梯运行时间计算程序分析

本程序旨在模拟电梯在规定序列下完成所有楼层请求所需的总时间。通过分析输入的楼层请求序列,计算电梯上升和下降所需的时间,并输出总时间。

代码解析

本程序使用C++语言编写,主要包括以下功能模块:

  • 输入处理:读取输入的楼层请求数目和具体的楼层序列。
  • 时间计算:遍历楼层请求序列,计算每个请求所需的时间,并累加总时间。
  • 输出结果:输出最终的总时间。
  • 核心逻辑

    程序中,requests向量存储输入的楼层请求序列。通过遍历该向量,逐个处理每个请求,计算电梯从当前楼层到目标楼层所需的时间,并累加到总时间中。

    具体逻辑如下:

    • 当前楼层初始化为0。
    • 对于每个请求,检查当前楼层与目标楼层的关系:
      • 如果目标楼层高于当前楼层,电梯上升,所需时间为(目标楼层 - 当前楼层) * 6
      • 如果目标楼层低于当前楼层,电梯下降,所需时间为(当前楼层 - 目标楼层) * 4
    • 更新当前楼层为目标楼层,继续处理下一个请求。
    • 最后,输出总时间。

    时间计算公式

    • 上升时间:6 * (目标楼层 - 当前楼层)
    • 下降时间:4 * (当前楼层 - 目标楼层)
    • 总时间:总时间 + 上升时间 + 下降时间

    输入输出

    程序从标准输入读取楼层请求数目和具体序列。输出最终计算的总时间。

    代码实现

    #include 
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std; #define INF 0x7FFFFFFF vector
    requests; int main() { int num; while (scanf("%d", &num) != EOF) { requests.resize(num); int sum = 0; for (int i = 0; i < num; ++i) { int temp; scanf("%d", &temp); requests[i] = temp; } int nowStairs = 0; for (int i = 0; i < num; ++i) { if (requests[i] > nowStairs) { sum += (requests[i] - nowStairs) * 6; nowStairs = requests[i]; } else if (requests[i] < nowStairs) { sum += (nowStairs - requests[i]) * 4; nowStairs = requests[i]; } } printf("%d", sum + num * 5); } return 0; }

    功能说明

  • 输入处理:读取输入的楼层请求数目和具体序列。
  • 时间计算:遍历楼层请求序列,计算每个请求所需的时间,并累加到总时间中。
  • 输出结果:输出最终的总时间。
  • 程序通过逐个处理每个楼层请求,计算电梯从当前楼层到目标楼层所需的时间,并累加到总时间中,最终输出总时间。

    转载地址:http://nlqfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现恩尼格玛密码机算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的动态编程方法算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的蛮力方法的算法(附完整源码)
    查看>>
    Objective-C实现打印10000以内的完数(附完整源码)
    查看>>
    Objective-C实现打印1000以内的水仙花数(附完整源码)
    查看>>
    Objective-C实现打印九九乘法表(附完整源码)
    查看>>
    Objective-C实现打印从 0 到 n 的卡特兰数算法(附完整源码)
    查看>>
    Objective-C实现打印函数调用堆栈( 附完整源码)
    查看>>
    Objective-C实现打印月份的日历算法(附完整源码)
    查看>>
    Objective-C实现打印杨辉三角(附完整源码)
    查看>>
    Objective-C实现打印某年的历法日期(附完整源码)
    查看>>
    Objective-C实现打印魔方矩阵(附完整源码)
    查看>>
    Objective-C实现打格点算法(附完整源码)
    查看>>
    Objective-C实现批量修改文件类型算法(附完整源码)
    查看>>
    Objective-C实现找出一个数的质因数primeFactors算法(附完整源码)
    查看>>
    Objective-C实现找出三角形从上到下的最大路径算法(附完整源码)
    查看>>
    Objective-C实现找出买卖股票的最大利润算法(附完整源码)
    查看>>
    Objective-C实现找出二维数组中的鞍点(附完整源码)
    查看>>