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 YES nếu có cách xếp, NO nế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

Không có ý kiến tại thời điểm này.