电梯算法问题

wh_liu 2011-06-04 05:23:25
某栋写字楼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层


输出: 设计一种简单实用的输出可以清晰地反映电梯的运转情况
...全文
248 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wh_liu 2011-06-04
  • 打赏
  • 举报
回复
呵呵,是啊,讨论下啊
ryfdizuo 2011-06-04
  • 打赏
  • 举报
回复
jixingzhong 2011-06-04
  • 打赏
  • 举报
回复
这个算法现在已经很成熟了,还有什么好研究的么?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧