Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
此题关键点说明(附个人思路)边工作边搞这个题,弄了将近10天才凑合把它摆平,而且还是看了楼下童鞋的讨论才把某些条件弄清楚,这里我给一个比较详细的易错条件总结,希望后面的童鞋少走弯路: 1、虽然题中没有明说,但是应该可以注意到,通过reception是并行的,也就是说,任何时候reception那里不会排队。 2、电梯在5秒的整数倍时间才可以上下人,任何想在并非5秒整数倍时间上下电梯的人,无论优先级如何,都必须排队。 3、每个楼层的电梯是独立的,即不同楼层的人去各自楼层的电梯互不干扰。 4、不考虑电梯相撞的问题(个人认为电梯相撞的可能是本题的一个bug)。 5、排队时探员应该按照优先级直接插入队列的相关位置。 个人思路:(一个笨办法,就当抛砖引玉吧!) 如果把此题作为搜索问题,那么搜索过程会相当复杂,而且很容易超时。把这个问题建模为带优先级的资源调度问题,就会简单不少。采用多实体模拟的方法,用一个主循环驱动各个agent按计划申请资源,并且根据申请结果,采取不同的应对措施,并在这个流程的各个相关地方写下日志,最后输出日志就可以了。这样做的好处是可以将问题复杂度兑换成代码量,缺点也显而易见,内存足迹较大而且代码不够简洁。 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator