电梯
仓库地址:https://github.com/vjudge0913/FZU_homework3
题目:
一栋10层的大楼(楼层编号1-10),设有一台无限载重的电梯,初始时电梯停在1层。电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0)。为了使得乘客等待的时间(电梯在目的层的停靠时刻 - 乘客发出请求时刻)总和最小,请你编写一个程序来进行电梯调度。
本次作业是在上一次的电梯调度的代码上进行改善迭代,不仅加入新的功能,也对程序的输入输出提出了新的要求。
作业要求:
一、 输入从文件读取,输出是写入文件。
大家在学习 C 语言的时候,应该明白了控制台程序的输入和输出。但文件操作往往是之前的课程中被忽略的一个部分,大家有没有试过“如果我要将程序的输出保存下来”、“如果我要从一个文件中获得输入”这些实操的环节呢?如果没有,现在是一个再好不过的学习机会,来吧,learning by doing!
要求:输入输出改成文件输入输出操作。输入文件的文件名为 input.txt
里面保存着输入样例,一个输入为一行,输入的格式见作业的第二条要求。
例如:
0 1 5
2 2 5
程序输出每次对应的决策,每一行的输出格式为 xx时,停靠在x楼
。输出在文件名为output.txt
的文件中。
二、这次的乘客不再像上一次作业那样只会去顶楼或者是 1 楼了,现在要使我们的程序功能更加贴近现实。
迭代:乘客会前往任意一层,请修改程序代码并实现。自然,输入请求就变为了:每个请求一行,格式为 请求时刻 起始楼层数 去往楼层
。同样,大家也需要自己构造测试样例,让这台“电梯”尽可能好的工作。构造五个输入样例,最后输出完成五个请求(所有乘客都到达目的地)后,各乘客的等待时间总和。输入输出的详细例子可以参加上一次作业的要求。
春节的气氛里,磕磕绊绊总算是码完了,这次乘客目的地不是固定的,我看了下之前的代码,呵呵,只能全部推翻重写一个了
以上是关于第三次作业(第四次不要电梯了吧)的主要内容,如果未能解决你的问题,请参考以下文章