Xếp lịch thi với ràng buộc
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
Có \(N\) môn học cần xếp lịch thi. Mỗi môn học có thể được tổ chức thi vào một trong hai ca: ca sáng (S) hoặc ca chiều (C). Có \(M\) ràng buộc giữa các môn học. Mỗi ràng buộc có dạng:
- Nếu môn \(a\) thi vào ca \(p\) thì môn \(b\) phải thi vào ca \(q\).
Hãy xác định xem có cách xếp lịch thi thỏa mãn tất 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 bốn số nguyên \(a, p, b, q\) (\(1 \le a, b \le N\), \(p, q \in \{0, 1\}\)), nghĩa là nếu môn \(a\) thi ca \(p\) thì môn \(b\) phải thi ca \(q\).
Định dạng đầu ra
- In ra
YESnếu có cách xếp,NOnếu không.
Ví dụ
Input:
3 3
1 0 2 1
2 0 3 1
3 0 1 0
Output:
YES
Nhận xét