zoukankan      html  css  js  c++  java
  • 2017级面向对象程序设计 作业三

    Deadline:2018-05-13 22:00pm

    题目升级

    一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层。其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留,3号电梯只停留在第1层和偶数层。电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0)。电梯不允许未仆先知,必须在时间到了之后才能开始响应这条请求。
    为了使得电梯完成接送所有乘客的运行时间最短,请你编写一个程序来进行电梯调度。

    输入

    输入文件的文件名为 input.txt ,其中:第一行为一个非负整数N,代表乘客的请求数量;接下来N行,描述了这N个请求的信息,格式为请求时刻 起始楼层数 去往楼层
    保证请求时刻是单调不减的

    /*input example*/
    2
    1 1 2
    1 2 1
    

    输出

    输出调度决策,3部电梯分别输出到3个文件。文件名分别为output1.txtoutput2.txtoutput3.txt,其中:每一行的输出格式为时刻 停靠楼层。(初始时停在1层的状态不输出
    注意:“时刻”指的是在某层楼停靠的时刻,且不算入在该层的停靠时间。

    /*onput1.txt为空*/
    
    /*onput2 example*/
    3 2
    
    /*onput3 example*/
    2 2
    4 1
    

    博客要求

    • 选择C或C++代码实现,另一种用文字描述或画图解释程序应如何实现。
    • 描述整个过程中碰到的所有困难以及解决的过程
    • 在博客开头贴出项目的github地址

    测试说明

    本次作业依然采用互测形式。代码必须遵循一定的代码规范,要有注释,可读性尽可能好。

    提交到Github上的项目需新建一个名字为3Elevators-scheduling的文件夹,在里面上传本次的作业代码。

    一个示例组织目录如下所示(仅为示例,命名、文件数量等未必需要遵守):

         / 3Elevators-scheduling
             / main.cpp
             / elevator.cpp
             / elevator.h  
             ...
         / BIN
             / elevator.exe
             / input.txt
             / output.txt
             / Lib.dll (exe运行需要的动态链接库文件,可以没有)
    
  • 相关阅读:
    子类继承和调用父类的构造方法 (转)
    数组复制 System.arraycopy 与 Arrays.copyof()
    ArrayList的使用方法 (转)
    Eclipse 的debug 用法 (转)
    for each
    二维数组 排序 随机数 练习
    react 之 reflux 填坑
    react & vue 项目创建的方式
    数组实例的 copyWithin()
    es6的正则扩展笔记之修饰符
  • 原文地址:https://www.cnblogs.com/easteast/p/8999626.html
Copyright © 2011-2022 走看看