Cho công thức logic dạng 2-CNF với n biến boolean (đánh số 1 đến n) và m mệnh đề. Mỗi mệnh đề có dạng (ℓa∨ℓb) trong đó mỗi literal là một biến hoặc phủ định của nó. Ta ký hiệu literal bằng số nguyên khác 0: số dương x là biến x, số âm −x là phủ định biến x.
Hãy xác định công thức có thoả được hay không (tồn tại phép gán giá trị đúng/sai cho các biến làm mọi mệnh đề đúng).
Ví dụ: Hai mệnh đề (x1∨x2) và (¬x1∨x2) thoả được bằng cách đặt x2 = đúng.
Dòng đầu chứa n và m. m dòng tiếp theo, mỗi dòng hai số nguyên khác 0 biểu diễn hai literal của một mệnh đề.
1≤n≤105, 0≤m≤2⋅105. Mỗi literal có trị tuyệt đối trong [1,n].
In ra SATISFIABLE nếu thoả được, ngược lại in UNSATISFIABLE.
Ví dụ:
Đầu vào:
2 2
1 2
-1 2
Đầu ra:
SATISFIABLE
Giải thích:
Đang tải editor...