Sắp Xếp Tô-pô

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
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èo có kế hoạch thực hiện \(N\) dự án nông nghiệp công nghệ cao độc lập (được đánh số từ \(1\) đến \(N\)). Tuy nhiên, giữa các dự án có \(M\) ràng buộc phụ thuộc dạng: dự án \(u\) phải được hoàn thiện trước thì mới có đủ dữ liệu và cơ sở để bắt đầu dự án \(v\).

Hãy giúp Tèo tìm ra một trình tự thực hiện khả thi cho tất cả các dự án. Nếu có nhiều thứ tự thực hiện hợp lệ, Tèo luôn muốn ưu tiên các dự án có số hiệu nhỏ hơn được bắt đầu trước (sử dụng thuật toán sắp xếp tô-pô có thứ tự ưu tiên).

Đị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\) chỉ ra dự án \(u\) cần hoàn thành trước dự án \(v\).

Định dạng đầu ra

  • In ra dãy số biểu diễn thứ tự thực hiện dự án hợp lệ cách nhau bởi dấu cách. Nếu không có thứ tự khả thi (do ràng buộc vòng), in ra -1.

Ví dụ

Input:

4 3
1 2
2 4
3 4

Output:

1 3 2 4

Nhận xét

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