计应193第二组王帅领电梯调度
何谓电梯调度:
假如电梯在高峰期间只允许在某一层停留,所有的乘客在一楼上电梯,到达某层后,所有乘客从电梯下来,到达自己要去的楼层,
在一楼的时候所有乘客选出自己要去的楼层,电梯根据所有乘客选择的楼层信息得出要停留的楼层。那么,电梯停留在那一层,
能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?
“调度”分析:
该问题本质上是一个优化问题,首先为则个问题找到一个合适的抽象模型。从问题中可以看出,有两个因素会影响到最后的结构:
乘客的数目即需要停留的楼层,因此,我们可以从统计到达各层的乘客数目开始分析。假设楼层总共有N层,电梯停留在X层,要去第i层
的乘客总数目是Tot[i],这样,所爬楼梯的总数就可以表示出老。因此,我们就是要找到一个整数X使得这个总数的值最小。
问题解法:
首先思考简单解法,可以从第1层开始枚举X一直到第N层,然后再计算出如果电梯在第X层的话,
所有乘客总共需要爬多少层楼。这是最为直接的一个解法。可以看出,这个算法需要两重循环来完成计算
补充说明
其实目前为止的逻辑过于不切实际,因为实际中在高层电梯中不会出现只停一层的情况,而且如果有类似的政策的话,
比较低的楼层的人会直接选择爬楼去而不去按电梯(即使是统计好人数也会在计算总体的消耗上有很大的不同)。