在礼堂算法中座位的人 - 效果不是很好

时间:2011-12-25 10:37:35

标签: algorithm sorting graph-theory

鉴于以下问题:

we have participants and we want to place them in an auditorium, where
each of the participants has a list of  the people that he/she don't
want to sit behind that person , or at the same line of that person .
We do not have any restriction regarding the number of lines in the auditorium ,or the number of seats.

我需要写一个每个人都很开心的算法。

我在思考拓扑排序,我们将问题抛到图论领域: *在图G =(V,E)上运行拓扑排序。 *如果有问题的那种 - 返回'是',否则返回'否'。 该算法将如下工作: 在每一行中,我们只放置一个参与者,第一行包含第一个参与者(他将成为TopSort中的第一个顶点),第二行包含第二个参与者等。 如果participant A不想坐在(或同一行)participant B后面,那么我们会有一个从A到B的有向边,表示A位于B后面。< / p>

A不想与B(或在他身后)位于同一行时,我的问题就开始了,B不想坐在后面A (或在同一行)。

我很感激你的帮助, 的问候,罗恩

1 个答案:

答案 0 :(得分:2)

显然,如果存在循环依赖关系(A想要在B之前坐下,并且B想要在A之前坐下),则问题无法解决。拓扑排序似乎是解决问题的一种方法。