zoukankan      html  css  js  c++  java
  • PAT 甲级 1008 Elevator 模拟

    地址  https://pintia.cn/problem-sets/994805342720868352/problems/994805511923286016

    题目大意
    
    电梯起始位置为0  接受N个楼层请求,电梯上升一层需要时间6秒,下降一层需要时间4秒,停靠的楼层需要等待时间5秒
    
    输入一系列楼层请求,请计算需要多少时间
    
    输入格式
    
    一行起始输入整数N 表示有N个楼层请求 后面接着输入N个数字表示楼层请求 空格隔开
    
    输出格式
    
    输出一个数字表示需要完成N个楼层请求的总时间 
    
    输入样例:
    3 2 3 1
    输出样例:
    41

    算法1
    这个题目比较简单 就是纯模拟
    一开始初始化当前位置是0 然后每接受一个楼层请求 就判断是上升还是下降
    加入相应的时间,最后加入请求数*5 (每次请求都要停止等待5秒)

    #include <iostream>
    
    using namespace std;
    
    const int N =150;
    
    int n;
    int arr[N];
    
    int main(){
        cin >> n;
        int curr =0; int ans =0;
        for(int i = 0;i < n;i++){
            cin >> arr[i];
            if(arr[i] >curr){
                ans += (arr[i]-curr)*6;
            }
            if(arr[i]<curr){
                ans += (curr-arr[i])*4;
            }
            curr=arr[i];
        }
        ans += 5*n;
    
        cout << ans << endl;
    
    
        return 0;
    }
    
     
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    【[国家集训队]最长双回文串】
    【[国家集训队]Crash的数字表格 / JZPTAB】
    【YY的GCD】
    【于神之怒加强版】
    【[SDOI2015]约数个数和】
    【[TJOI2010]电影迷】
    【[SDOI2011]拦截导弹】
    【[SDOI2014]数表】
    linux系统编程之管道(三)
    linux系统编程之管道(二)
  • 原文地址:https://www.cnblogs.com/itdef/p/14397501.html
Copyright © 2011-2022 走看看