【发布时间】:2009-01-09 21:35:49
【问题描述】:
许多学生想要进入某个班级的各个部分,有些学生已经注册了一个部分但想要更改部分,所以他们都进入了候补名单。只有当有人从该部分掉线时,学生才能进入新的部分。没有学生愿意放弃他们已经进入的部分,除非可以确保进入他们正在等待的部分。每个部分的等候名单先到先得。
让尽可能多的学生进入他们想要的部分。
上述问题很快就会演变成僵局。我的问题是;这个问题有已知的解决方案吗?
一个简单的解决方案是依次选择每个部分,并强制等待列表中的第一个学生进入该部分,然后检查是否有人在事情解决后最终辍学(O(n) 或更多部分)。这在某些情况下可行,但我认为可能有更好的选择,包括强制一个以上的学生进入一个部分(O(n) 或更多学生数量)和/或一次操作多个部分(O (坏):-)
【问题讨论】:
-
标记为“家庭作业”。这可能不是你的作业,但可能是某人的作业,因为几年前我在大学时遇到过这个问题。
-
改为非我的作业以更好地反映现实
-
哈哈“不是我的作业”。因此,如果我要找到“我的作业”的答案,这实际上是说它不是 我的 作业? :/ 天啊.. 我迷路了..
-
标签是用来描述问题的,而不是它的所有者。
标签: algorithm language-agnostic theory