zoukankan      html  css  js  c++  java
  • 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;
    }
    
  • 相关阅读:
    iOS 整理面试题(上)
    2021年十大白马名单
    RabbitMQ:消息重复消费
    RabbitMQ:保证消息的顺序性
    RabbitMQ:保证消息的可靠性传输
    AWS S3 大文件分片上传
    rebase 用法小结
    Flask at scale
    MySQL分区
    动态规划示例题
  • 原文地址:https://www.cnblogs.com/Breathmint/p/10281401.html
Copyright © 2011-2022 走看看