座位排队问题

Practise_Think 2011-10-20 04:19:35
描述:

有 m (m>0) 个餐桌,一个餐桌只能坐一个人,现在有多组人排队用餐,每组人数不固定,但不多于餐桌数,且每个组员都分配在一固定的不同的餐桌前排队,排队是以组为单位,而不是个人,也就是说该组的组员要么就一起用餐,要么就一起不用餐,即使该组某一组员所在餐桌队列中轮到他,但其所在的组只要有一成员还没轮到也不能独自用餐。正在排队中的组可以和前后非正在用餐的组交换在队列中的位置。注意,有可能多个组能同时用餐(例如:5个餐桌,A组2个人,B组3个人,他们各人都在不同餐桌队列上,那么就有可能A和B组能同一时间用餐)。

问题:
快速地查询出某组在队列的顺序位置,包括在组位置前后交换后也能快速查询到

请各位讨论一下算法
...全文
274 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chhch11111 2011-10-21
  • 打赏
  • 举报
回复
按楼主的描述根本不需要按餐桌来排队
只需统计空闲的餐桌数量,当空闲数大于等于队首的组的人数时,此组进场用餐
这样多队列的问题就变成单队列了
Practise_Think 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sssssjjjj 的回复:]

会死锁的吧
[/Quote]

不会死锁的,因为是以组为单位进行排队而已,一个组用完就轮到下一组,只是用餐时,要全组人轮到才能用餐。

举例说有3张餐桌分别是: T1,T2,T3
有3组人队顺序分别是: A组(1人) B组(2人) C组(3人)

假如他们对应餐桌的队列其中一种情况为:
T1 a1 b1 c3
T2 c2
T3 b2 c1

由此可见虽然 b2 和 c2 这两个组员前面都没人用餐,但因为排在他们的组还没用完餐,所以b2和c2不能独自用餐,直到他们所在的整组人都可以用餐为止
Practise_Think 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bingshanzhiling 的回复:]

问题:每次进去最多组吗?

比如10个桌子,是优先进去一个组(该组共8人,占据1到8号),还是先进去另外两组(一组1到4,另一组5到10)???
[/Quote]

不好意思,没说清楚。

排队的组数不限,按先来先到的原则,但排队过程中可以申请与相邻的前后两组进行互换位置。 而组里排队的人在开始排队时是随机选餐桌来排队的,但一旦选中自己的餐桌后就不能更改餐桌号
bingshanzhiling 2011-10-20
  • 打赏
  • 举报
回复
问题:每次进去最多组吗?

比如10个桌子,是优先进去一个组(该组共8人,占据1到8号),还是先进去另外两组(一组1到4,另一组5到10)???
sssssjjjj 2011-10-20
  • 打赏
  • 举报
回复
会死锁的吧
【原创学士学位毕业论文,未入库可过查重】 内容概要:本学位毕业论文基于微信小程序类,旨在探讨其在教育领域的应用。通过对微信小程序的功能和特点进行分析,研究了其在教育教学、学生管理、校园生活等方面的应用潜力。同时,设计并开发了一款针对学校教育管理的微信小程序原型,验证了其在提高教育效率和便利性方面的优势。 适用人群:本学位毕业论文适合本科专科毕业生,尤其是教育学、计算机科学与技术等相关专业的学生。对于对微信小程序感兴趣,并希望在教育领域应用的学生,本论文提供了有价值的参考和指导。 使用场景及目标:本学位毕业论文的研究目标是探索微信小程序在教育领域的应用潜力。通过设计和开发一款针对学校教育管理的微信小程序原型,论文展示了其在教育教学、学生管理、校园生活等场景中的应用。论文旨在为教育机构和教育从业者提供参考和借鉴,以提高教育效率和便利性。 其他说明:本学位毕业论文是原创研究,未入库可过查重。论文采用了综合研究方法,包括文献综述、案例分析和原型设计等。论文的研究结果对于推动微信小程序在教育领域的应用具有一定的实践意义。 关键词:微信小程序、教育领域、学校教育管理、教育效率、便利性

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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