寒假C++学习计划
编程作业结果截图
电梯调度
一开始看到这道题的时候我是非常懵逼,再加上看到群里大佬们的讨论之后我就更害怕了。然后慢慢吞吞很费劲地开始啃题目。
题目中给出的要求是输入5个请求,每个请求包括请求时刻、起始楼层数和去往方向。去往方向只有0和1,即只有向上或者向下并且目的地分别是10层或1层。第一感觉肯定要顺路接上发出请求的人才回省时间,但是还要考虑发出时间、方向等好多好多情况,所以最终决定还是先把最简单的情况弄出来耗时最久的然后慢慢再改吧。
(还是在担心自己会不会理解错题目了……恐慌……)
看代码请做好心理准备后点这里
第一次
这次的代码是非常、非常不完善1.0版本。(不完善情况大概是自己一边敲代码一边都能知道自己哪里不完善)
1.0版本的大前提是处理顺序为……输入顺序。(最简单然后非常耗时间的情况因为情况不会了)
第一是先计算从1层开始不考虑发出指令的时间不同的情况下,执行每一个请求要花费的时间。
第二还是不考虑指令的发出时间(其实是当作都是同时发出指令),第N条指令执行之前电梯执行完前面的N-1条,所以等待时间要加上前面所有指令的总执行时间。
第三是考虑前一次的指令执行之后电梯停止的位置,分为10楼和1楼两种情况。
第四考虑发出指令的时间,因为从第一条指令开始执行所以从第二条指令开始判断。分为后续指令在第一条指令发出前发出和后续指令在第一条指令发出后发出。
大概写到这里然后还有挺多情况在正在考虑然后还没改出来。