#12028. Elevator Simulation / 电梯问题
Elevator Simulation / 电梯问题
Problem J41: Elevator Simulation / 电梯问题
版权信息: JLOJ2356 · 简单模拟法题目
任务总览
任务名称 | 时间限制 | 内存限制 | 分数 |
---|---|---|---|
电梯问题 | 1 sec | 1024 MB | 10 points |
题目描述
某城市中最高的建筑物里只有一个电梯。
你得到了一个 请求列表 ,它由 个正整数构成,表示电梯按顺序需要到达的楼层。
电梯:
- 从第 0 层 开始;
- 每次向上移动一层楼需要 6 秒 ;
- 每次向下移动一层楼需要 4 秒 ;
- 每次 停留 在某个楼层(无论是否有移动)都会耗费 5 秒 (包括第一站)。
请你模拟电梯运行,计算完成整个请求列表所需的总时间。
输入格式
输入包含多组测试数据。每组测试数据格式如下:
-
第一行为一个整数 (),表示请求楼层数;
- 接下来一行包含 个正整数,表示电梯停靠的楼层号。
当输入行为一个单独的数字
0
时表示输入结束(不处理该组数据)。
输出格式
每组数据输出一行,表示电梯完成该组请求所需的总时间(单位为秒)。
输入输出样例
输入示例
1 2 4 3 2 3 1 0
输出示例
17 41
题目分析与解法
✅ 模拟过程:
- 电梯初始在 层;
- 对于请求列表中的每一层楼:
- 计算当前层与目标楼层的差;
- 累加上下楼所需的时间;
- 再加上 5 秒的停靠时间;
- 输出所有时间的总和。
边界细节说明
- 若连续两次请求停在同一楼层,也需加 5 秒;
- 电梯不需要回到底层。
时间复杂度分析
操作 | 复杂度 |
---|---|
模拟每组请求 | |
多组数据 | , |