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