题目 30185

2-SAT

查看题解 ↗GitHub ↗如何评测
题号
30185
时间限制
10000 ms
内存限制
1024 MB
标签
数学
来源
Library Checker (yosupo06) - two_sat

【题目描述】

给定一个有 NN 个变量、MM 个子句的 2-SAT 问题。判断它是否可满足,若可满足则构造出一组变量的赋值。

【输入】

2-SAT 问题以 DIMACS 格式 给出。请参见样例。

文本
p cnf $N$ $M$
$a_1$ $b_1$ 0
$a_2$ $b_2$ 0
:
$a_M$ $b_M$ 0

【输出】

若输入可满足,按如下方式输出:

文本
s SATISFIABLE
v $x_1$ $x_2$ ... $x_N$ 0

若第 ii 个变量为真,则 xi=ix_i = i;若为假,则 xi=−ix_i = -i。

若输入不可满足,按如下方式输出:

文本
s UNSATISFIABLE

【输入样例】

文本
p cnf 5 6
1 2 0
-3 -1 0
-4 -3 0
2 -5 0
5 -2 0
1 4 0

【输出样例】

文本
s SATISFIABLE
v -1 2 -3 4 5 0

该样例的含义如下:

(x1∨x2)∧(¬x3∨¬x1)∧(¬x4∨¬x3)∧(x2∨¬x5)∧(x5∨¬x2)∧(x1∨x4) (x_1 \lor x_2) \land (\lnot x_3 \lor \lnot x_1) \land (\lnot x_4 \lor \lnot x_3) \land (x_2 \lor \lnot x_5) \land (x_5 \lor \lnot x_2) \land (x_1 \lor x_4)

【输入样例2】

文本
p cnf 2 4
1 2 0
1 -2 0
-1 2 0
-1 -2 0

【输出样例2】

文本
s UNSATISFIABLE

【数据范围】

  • 1≤N≤500,0001 \leq N \leq 500,000
  • 1≤M≤500,0001 \leq M \leq 500,000

【来源】

Library Checker(yosupo06) two_sat

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30185 的公开数据

正在读取文件列表…

常用命令

题目 30185 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。