首页 > 试题广场 >

问题 某栋写字楼6层,有1部电梯,请编写一个电梯仿真程

[问答题]

问题

某栋写字楼6层,有1部电梯,请编写一个电梯仿真程序

A.考虑如下条件


1.每层楼都有上行和下行两个按键

2.电梯一开始停在1层

3.电梯可以容纳8个人

4.乘坐电梯的客人的请求频率,时间间隔和到达楼层是随机的

5.电梯的上下一层需要1秒

6.电梯空间有限,同时只能容纳一定数量的客人,如果已经达到人数额度,电梯将不理会任何请求

7.不考虑客人请求当前楼层和不请求楼层的情况

8.电梯的响应延迟为0(比如,电梯往3楼上行,3楼的客人在电梯到达3楼之前按上行键,程序有权调度电梯在3楼开门)

9.     电梯的开关门时间和客人上下电梯时间为0,匀速运行

10. 电梯调度算法不能预读尚未发生的请求(比如在10秒的时候电梯无法预知11秒时某层客人的请求)

11.客人请求发生在整数秒



B.目标

1.     在运送所有客人到达目标楼层的前提下电梯的总行程尽可能小

2.     设计一个接口,实现调度算法的可替换性(比如,通过重新实现该接口可以使系统使用其它算法)



C.输入和输出

输入:

input.txt

客人的请求序列,格式为到达时间,所在楼层,请求楼层,假设该输入是按照时间递增的


比如:

input.txt

1 2 3

2 3 1


在1秒的时候有客人请求从2层到3层,2秒的时候有客人请求从3层到1层



输出:设计一种简单实用的输出可以清晰地反映电梯的运转情况

这道题你会答吗?花几分钟告诉大家答案吧!