Sắp xếp khoá học
Xem dạng PDFMô 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 n và m: 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 a và b:
- ~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
Gửi bài giải
Kotlin
PyPy
Đ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
Pascal
Python
Scratch