1 #include "constraint.h"
4 int main(int numargs, char ** argv) {
6 Edge v1=constraintNewVar(cnf);
7 Edge v2=constraintNewVar(cnf);
8 Edge v3=constraintNewVar(cnf);
9 Edge v4=constraintNewVar(cnf);
10 Edge v5=constraintNewVar(cnf);
12 Edge nv1=constraintNegate(v1);
13 Edge nv2=constraintNegate(v2);
14 Edge nv3=constraintNegate(v3);
15 Edge nv4=constraintNegate(v4);
17 Edge c1=constraintAND2(cnf, v1, nv2);
18 Edge c2=constraintAND2(cnf, v3, nv4);
19 Edge c3=constraintAND2(cnf, nv1, v2);
20 Edge c4=constraintAND2(cnf, nv3, v4);
21 Edge cor=constraintOR2(cnf, constraintAND2(cnf, c1, c2), v5);
24 addConstraint(cnf, cor);
25 int value=solveCNF(cnf);
27 bool v1v=getValueCNF(cnf, v1);
28 bool v2v=getValueCNF(cnf, v2);
29 bool v3v=getValueCNF(cnf, v3);
30 bool v4v=getValueCNF(cnf, v4);
31 printf("%d %u %u %u %u\n", value, v1v, v2v, v3v, v4v);