Sắp xếp khoá học

Xem dạng PDF

Mô tả bài toán: Hoàn thành các khóa học

Bạn cần hoàn thành n khóa học. Có m yêu cầu dưới 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ự hợp lệ để hoàn thành tất cả các khóa học.


Input:

  • Dòng đầu tiên chứa hai số nguyên nm: số lượng khóa học và số lượng yêu cầu.
  • Sau đó, có m dòng, mỗi dòng chứa hai số nguyên ab:
    • ~a~: khóa học phải được hoàn thành trước.
    • ~b~: khóa học được hoàn thành sau.

Output:

  • Nếu tồn tại một thứ tự hợp lệ, in ra thứ tự hoàn thành các khóa học.
  • Nếu không có giải pháp, in "IMPOSSIBLE".

Ràng buộc:

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

Ví dụ:

Input:
5 3
1 2
3 1
4 5
Output:
3 4 1 5 2
Input:
3 3
1 2
2 3
3 1
Output:
IMPOSSIBLE



Bình luận

Hãy đọc nội quy trước khi bình luận.

Không có bình luận tại thời điểm này.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch