Phép gán thỏa mãn có thứ tự từ điển nhỏ nhất
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
Cho biểu thức 2-CNF gồm \(N\) biến và \(M\) mệnh đề. Hãy tìm phép gán thỏa mãn có thứ tự từ điển nhỏ nhất, tức là dãy trạng thái \((x_1, x_2, \dots, x_N)\) là nhỏ nhất khi so sánh theo thứ tự từ điển.
Đị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\)).
Đị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à phép gán có thứ tự từ điển nhỏ nhất.
Ví dụ
Input:
3 3
1 -2
2 3
-1 -3
Output:
YES
0 0 0
Nhận xét