Kiểm tra biểu thức 2-SAT
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Một mạng lưới cảm biến thông minh gồm \(N\) bộ phận, mỗi bộ phận có hai trạng thái hoạt động: bật (kích hoạt) hoặc tắt (không kích hoạt). Hệ thống yêu cầu một số ràng buộc: mỗi ràng buộc có dạng "bộ phận \(a\) ở trạng thái \(p\) hoặc bộ phận \(b\) ở trạng thái \(q\)". Mỗi ràng buộc phải có ít nhất một vế đúng.
Cụ thể, mỗi ràng buộc là một mệnh đề OR (tuyển) giữa hai literal. Một literal là một biến hoặc phủ định của biến.
Hãy xác định xem có tồn tại cách gán trạng thái cho các bộ phận thỏa mãn tất cả các ràng buộc hay không.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên \(N\) và \(M\) (\(1 \le N \le 10^5\), \(1 \le M \le 2 \cdot 10^5\)).
- \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(a_i, b_i\) (\(-N \le a_i, b_i \le N\), \(a_i \neq 0\), \(b_i \neq 0\)). Số dương \(x\) biểu diễn biến \(x\), số âm \(-x\) biểu diễn phủ định của biến \(x\).
Định dạng đầu ra
- In ra
YESnếu có phép gán thỏa mãn,NOnếu không có.
Ví dụ
Input:
3 4
1 2
-1 3
2 -3
-2 3
Output:
YES
Nhận xét