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\).

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

Ví dụ

Input:

4 3
1 2
2 3
1 4

Output:

1 2 4 3

Nhận xét

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