http://www.cppblog.com/MatoNo1/archive/2011/07/13/150766.html11种 (默认表达式值为1)1. x x必选 (x' ,x)2. ~x x必不选(x, x')3. x&y x和y必都选 (x',x),(y',y) 4. x&(~y) x和y' 都选 (x',x),(y,y')5. x|y x,y至少选一个(x',y),(y',x)6. x|(~y) x,y'至少选一个(x',y'),(y,x)7. ~(x&y) => (~x)|(~y) , x',y'至少选一个 (x,y'),(y,x')8. ~(x|y) =>(~x)&(~y), x',y'必都选 (x,x'),(y,y')9. x^y x,y不可以同时选 ,x',y'也不可以同时选(即x,y取值不同) (x,y'),(y,x'),(x',y),(y',x)10. ~(x^y) (x,y取值相同) (x,y),(y,x),(x',y'),(y',x')11.x^(~y) (x,y'取值不同,x,y取值相同) (x,y),(y,x),(x',y'),(y',x')POJ 36782-sat建图题,把每个值是1(a)和0(~a)为两种状态,分清楚各种操作的本质就很简单了AND 结果为1:建边 ~x->x,~y->y (两个数必须全为1)AND 结果为0:建边 y->~x,x->~y (两个数至少有一个为0)OR 结果为1:建边 ~x->y,~y->x (两个数至少有一个为1)OR 结果为0:建边 x->~x,y->~y (两个数必须全为0)XOR 结果为1:建边 x->~y,y->~x,~y->x,~x->y (两个数必须不同)XOR 结果为0:建边 x->y,y->x,~x->~y,~y->~x (两个数必须相同)