比赛场次 | 159 |
---|---|
比赛名称 | 20120722 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2012-07-22 09:00:00 |
结束时间 | 2012-07-22 13:30:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | MAX-2-SAT |
---|---|
输入输出 | max2sat.in/out |
时间限制 | 2000 ms (2 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
Truth.Cirno | AWWTTTWTTT | 6.007 s | 0.29 MiB | 10 |
【问题描述】
在命题逻辑中,一个变量pi的值可以为0(false),或者1(true),一个文字lj可以是一个变量pi或变量的取反-pi。字句是文字的析取,而一个CNF公式则是字句的合取。当pi取值为1时,文字pi值为真,而当pi取值为0时,文字-pi值为真。如果一个字句中至少有一个文字值为真,则此字句值为真,而当一个CNF公式中所有字句值都为真时,此公式的值才为真。
一个CNF公式的MAX-SAT问题指的是如何为命题变量赋值,使得字句值为真的数目最多。这里因为所有的字句都只有两个文字,故称为MAX-2-SAT。
现在,请你来解决这个MAX-2-SAT问题。
【输入格式】
输入文件的第一行为一个正整数T(0<T<21),表示测试数据的个数;
【输出格式】
对于每个测试数据,在一行输出值为真的字句的最大数目。
【样例】
max2sat.in
1
2 4
-2 1
2 1
2 -1
-1 -2
max2sat.out
3