Chọn môn đăng ký học

Xem dưới dạng PDF

Gửi bài giải


Điểm: 10
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Tí chuẩn bị bước vào học kỳ mới tại trường Đại học công nghệ. Có \(N\) môn học và M điều kiện tiên quyết (môn u cần học trước môn \(v\)).

Hãy giúp Tí sắp xếp thứ tự học các môn sao cho không vi phạm điều kiện tiên quyết nào.

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên \(N\) và M (\(1 \le N \le 10^5, 0 \le M \le 2 \cdot 10^5\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)) mô tả môn u là điều kiện tiên quyết của môn \(v\).

Định dạng đầu ra

  • Dãy \(N\) số nguyên biểu diễn thứ tự đăng ký học các môn. Nếu không thể học hết các môn (do có mâu thuẫn phụ thuộc vòng), in ra \(-1\).

Ví dụ

Input:

4 3
1 2
2 3
1 4

Output:

1 2 4 3

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(N \le 1000, M \le 2000\)
2 60% Không có ràng buộc gì thêm

Nhận xét

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