[POJ 1478]

Island of Logic

枚举

题意:有一个岛上有3种(仅从外观无法分辨的)生物:神(只说真话)、人(白天说真话,晚上说谎话)、鬼(只说谎话)。给你一段长为n的聊天记录,要求尽量推断出更多的事实。聊天记录中最多涉及5个生物。

分析:事实分为两种,(1)生物的种族、(2)当前时间。基本思路是,可以枚举出所有的事实组合,并根据聊天记录来判断可行性。如果可行,则记录该事实组合。记录时,对于各个生物以及时间分别使用一个位相量,以逻辑或的形式记录其所有可能的取值。最后,仅存在唯一可能取值的位相量即为“事实”。

ps:350题了。每做一题在poj上排名都会略微提升,有种在尸体堆里穿行的感觉。(前辈们失敬了)