寒假作业2

寒假作业2

Github仓库地址:点我

寒假C++学习计划

学习计划


编程题

代码行数 Bug数 总耗时
171 7个左右 18h

千赶万赶终于憋出了一份代码,虽然肯定不是最优解,但以我现在的能力与时间,这近乎我的最优解了。o(╥﹏╥)o

首先,一开始看到这个题目我是真的懵圈了。真的是看不懂群里的神仙聊天啊

第二次作业布置后的前两天,我一直在自己想着怎么去做,可想来想去就是暴力去排,觉得毕竟才5个请求。

后来觉得自己好蠢的我用了一天半去各种问大佬,感谢大佬们不嫌弃Thanks♪(・ω・)ノ

可对不起,最后我还是很不争气的各种if去排,过程真的是痛苦,令人头大大大。

好几次我写了一半恍然大悟后删了一堆重写。。。

①一开始想着一个一个请求的去处理,即送完一个再送下一个。。

②然后改成先将五个请求按请求时间从小到大排序后处理

③排完序后考虑能不能同时处理两个请求

④将前两个请求不同的情况列举,1/3一样、2/3一样、都一样。。

⑤输出每次停靠接客和送客的举措

⑥后续添加了几种特殊情况,如五个请求一样、存在想去的楼层和所在楼层一样的请求……

⑦本来想着能不能同时处理三个或三个以上的请求,但很复杂,而也快要deadline了,时间来不及。

⑧后面想了几种不同的方法,比如:

⑴先一口气把要去10层的送到,再来一下子把要去1楼的送到,考虑请求时间的时间差比,看能不能更优

⑵或者用暴力处理不同的排序看哪种排序最优,但这种方法只能用在如现在5个请求量少的时候用,以后不同的电梯的时候也难改

……

用了很蠢的办法,而且离最优还有大距离,这次作业自己做得很难受,没有达到自己的预期状况,一开始的时候只想没有去实践,导致后面实践的时候时间不够,后续会继续努力改良我的代码

附上五个示例:





Pintia小作业

posted @ 2018-02-09 13:32  许煌标  阅读(160)  评论(2编辑  收藏  举报