2-SAT问题一般指这样的问题:2n个顶点可以分为n组,每组2个顶点,且这两个顶点只能选择其中一个
如果根据限制条件,选了顶点a后,必须选择b,则添加一条有向边(a,b)
这题中,n对夫妻(包括新郎和新娘)恰好可以代表n组点,女的标为0,2...男的标为1,3...
每对夫妻,只能选一个坐在新娘的对面,若选中一个点表示该点在新娘的对面,则对于特殊关系x,y,添加边(x,~y),(y,~x)
最后添加边(0,1)
代码:
2-SAT问题一般指这样的问题:2n个顶点可以分为n组,每组2个顶点,且这两个顶点只能选择其中一个
如果根据限制条件,选了顶点a后,必须选择b,则添加一条有向边(a,b)
这题中,n对夫妻(包括新郎和新娘)恰好可以代表n组点,女的标为0,2...男的标为1,3...
每对夫妻,只能选一个坐在新娘的对面,若选中一个点表示该点在新娘的对面,则对于特殊关系x,y,添加边(x,~y),(y,~x)
最后添加边(0,1)
代码: