寒假作业2
寒假作业2
Github仓库地址:点我
寒假C++学习计划
编程题
代码行数 | Bug数 | 总耗时 |
---|---|---|
171 | 7个左右 | 18h |
千赶万赶终于憋出了一份代码,虽然肯定不是最优解,但以我现在的能力与时间,这近乎我的最优解了。o(╥﹏╥)o
首先,一开始看到这个题目我是真的懵圈了。真的是看不懂群里的神仙聊天啊
第二次作业布置后的前两天,我一直在自己想着怎么去做,可想来想去就是暴力去排,觉得毕竟才5个请求。
后来觉得自己好蠢的我用了一天半去各种问大佬,感谢大佬们不嫌弃Thanks♪(・ω・)ノ
可对不起,最后我还是很不争气的各种if去排,过程真的是痛苦,令人头大大大。
好几次我写了一半恍然大悟后删了一堆重写。。。
①一开始想着一个一个请求的去处理,即送完一个再送下一个。。
②然后改成先将五个请求按请求时间从小到大排序后处理
③排完序后考虑能不能同时处理两个请求
④将前两个请求不同的情况列举,1/3一样、2/3一样、都一样。。
⑤输出每次停靠接客和送客的举措
⑥后续添加了几种特殊情况,如五个请求一样、存在想去的楼层和所在楼层一样的请求……
⑦本来想着能不能同时处理三个或三个以上的请求,但很复杂,而也快要deadline了,时间来不及。
⑧后面想了几种不同的方法,比如:
⑴先一口气把要去10层的送到,再来一下子把要去1楼的送到,考虑请求时间的时间差比,看能不能更优
⑵或者用暴力处理不同的排序看哪种排序最优,但这种方法只能用在如现在5个请求量少的时候用,以后不同的电梯的时候也难改
……
用了很蠢的办法,而且离最优还有大距离,这次作业自己做得很难受,没有达到自己的预期状况,一开始的时候只想没有去实践,导致后面实践的时候时间不够,后续会继续努力改良我的代码
附上五个示例: