1385: 【模板】2-SAT 问题

内存限制:128 MB 时间限制:1.000 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:6 通过:3

题目描述

有 n 个布尔变量 x1xn,另有 m 个需要满足的条件,每个条件的形式都是 「xi 为 true / false 或 xj为 true / false」。比如 「x1 为真或 x3 为假」、「x7 为假或 x2 为假」。

2-SAT 问题的目标是给每个变量赋值使得所有条件得到满足。

输入格式

第一行两个整数 n 和 m,意义如题面所述。

接下来 m 行每行 4 个整数 iajb,表示 「xi为 a 或 xj 为 b」(a,b{0,1})

输出格式

如无解,输出 IMPOSSIBLE;

否则输出 POSSIBLE。

下一行 n 个整数 x1xn,xi{0,1}),表示构造出的解。

输入样例 复制

3 1
1 1 3 0

输出样例 复制

POSSIBLE
0 0 0

数据范围与提示

1n,m10^6 , 前 3 个点卡小错误,后面 5 个点卡效率。