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