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.