PAT 甲级测试题目 -- 1008 Elevator
题目描述
某公司有个电梯,给定你含有 N 个整数的列表,列表中的数表示电梯将在哪个楼层停靠。电梯向上移动一层需要 6 秒,向下移动一层需要 4 秒,每到一层需要停留 5 秒。求电梯运行完整个列表需要的时间。
分析
本题没有太大的难点,注意一下输入楼层都相同的情况,需要叠加停留时间即可(例如输入:3 0 0 0,则输出 15)
测试用例
输入数据:
3 2 3 1
输出数据:
41
输入数据:
3 0 0 0
输出数据:
15
实现
#include<iostream>
using namespace std;
int main() {
int ListNumber;
int layer;
int AllTime = 0;
int ContinueTime = 5;
int difference, before = 0;
cin >> ListNumber;
while (ListNumber--) {
cin >> layer;
difference = layer - before;
before = layer;
if (AllTime == 0) {
AllTime += difference * 6 + ContinueTime;
continue;
}
if (difference > 0) {
AllTime += difference * 6 + ContinueTime;
}
else if(difference < 0){
AllTime += difference * (-4) + ContinueTime;
}
else {
AllTime += 5;
}
}
cout << AllTime;
return 0;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步