[关闭]
@thousfeet 2018-05-06T20:54:46.000000Z 字数 897 阅读 925

【2017级面向对象程序设计】作业三

c++助教


题目升级

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

输入

输入文件的文件名为 input.txt ,其中:第一行为一个非负整数N,代表乘客的请求数量;接下来N行,描述了这N个请求的信息,格式为请求时刻 起始楼层数 去往楼层
保证请求时刻是递增的,且同一时刻同一楼层只会有一名乘客发出请求(也即不会出现同时且同楼层的多行输入)。

  1. /*input example*/
  2. 2
  3. 0 1 2
  4. 1 2 1

输出

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

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

博客要求

测试说明

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

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

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

  1. / 3Elevators-scheduling
  2. / main.cpp
  3. / elevator.cpp
  4. / elevator.h
  5. ...
  6. / BIN
  7. / elevator.exe
  8. / input.txt
  9. / output.txt
  10. / Lib.dll (exe运行需要的动态链接库文件,可以没有)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注