Tìm phép gán thỏa mãn 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
Trung tâm điều khiển có \(N\) công tắc, mỗi công tắc có hai trạng thái: bật (1) hoặc tắt (0). Hệ thống có \(M\) yêu cầu: mỗi yêu cầu có dạng "công tắc \(a\) ở trạng thái \(p\) hoặc công tắc \(b\) ở trạng thái \(q\)" và phải được thỏa mãn.
Hãy tìm một cách gán trạng thái cho các công tắc thỏa mãn tất cả yêu cầu. Nếu có nhiều cách, in ra cách bất kỳ.
Đị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
- Nếu không có phép gán, in ra
NO. - Nếu có, in ra
YESở dòng đầu, dòng thứ hai in \(N\) số 0 hoặc 1 là trạng thái các biến \(x_1, x_2, \dots, x_N\).
Ví dụ
Input:
3 3
1 -2
2 3
-1 -3
Output:
YES
1 1 0
Nhận xét