HDU 3062 Party (2-sat)
題目地址:HDU 3062
2-sat第一發。水題。。
首先假設A,A'為同一組的兩個布爾變量且不能同時選擇同一組的兩個變量。如果存在一種同時選擇了A和A'的方案,則該方案無解。
設為選擇X就必須選擇Y,則基本的建圖如下:
A,B不能同時選:,表示選擇A就必須不能選擇B,選擇B就不能選擇A
A,B不能同時不選:,表示不選A則必須選B,不選B則必須選A
A,B必須同時選或同時不選:,略。。
對這題來說,夫妻就是同一組的兩個布爾變量,然後給出了一些矛盾關系,根據這些矛盾關系加邊,然後判斷是否有一組的布爾變量在同一塊強連通分量中,如果在同一塊,那就說明產生了矛盾,無解。
代碼如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include