#2842. CLASSSCH - Lịch học

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Bạn phải tham gia n khóa học. Có một số yêu cầu tiên quyết, được mô tả bởi m mối quan hệ dạng: "khóa học a phải được hoàn thành trước khóa học b ". Nhiệm vụ của bạn là tìm một thứ tự các khóa học sao cho thỏa mãn tất cả các yêu cầu.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên n m : số khóa học và số yêu cầu.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên a b : khóa học a là tiên quyết của khóa học b .

Kết quả:

  • In ra một thứ tự hợp lệ của các khóa học. Nếu có nhiều đáp án, bạn có thể in bất kỳ đáp án nào.
  • Nếu không có thứ tự nào hợp lệ (do có chu trình phụ thuộc), in IMPOSSIBLE.

Ví dụ:

Dữ liệu:

5 3
1 2
3 1
4 5

Kết quả:

3 4 1 5 2

Giới hạn:

  • 1 \le n \le 10^5
  • 1 \le m \le 2 \cdot 10^5
  • 1 \le a, b \le n