1
考慮以下問題:座位的人在一個禮堂算法 - 不工作那麼好
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
的後面。
我的問題開始時A
不希望在同一行坐如B
(或身後),並B
不希望坐在後面A
(或在同一行)。
我會很感激你的幫助, 問候,羅恩
你的意思是當A不想和B坐在同一行(或在他後面),而B不想坐在A後面(或在同一行)時,則返回'NO' ? – ron 2011-12-25 10:50:36
@ron:的確,只是返回NO,因爲問題顯然沒有解決方法,請參閱? – Vlad 2011-12-25 10:51:52
如果有任何循環,則返回NO,長度不爲2,如果B想要坐在A之後,並且C想要坐在B之後,並且A想要坐在C之後,那麼還有一個循環,等等。 – amit 2011-12-25 10:54:58