5335. 课程安排(Course Schedule)
时间限制:1000 MS 内存限制:256 MB
题目描述
## 题目描述 你需要完成 $n$ 门课程。有 $m$ 个先修关系,格式为“课程 $a$ 必须在课程 $b$ 之前完成”。你的任务是找出一种可行的修课顺序。 ## 输入格式 第一行包含两个整数 $n$ 和 $m$,表示课程数量和先修关系数量。课程编号为 $1, 2, \dots, n$。 接下来 $m$ 行描述先修关系。每行包含两个整数 $a$ 和 $b$,表示课程 $a$ 必须在课程 $b$ 之前完成。 ## 输出格式 输出一个可行的修课顺序。你可以输出任意包含所有课程的合法顺序。若无解,输出 `IMPOSSIBLE`。 ## 输入输出样例 ### 输入 #1 ``` 5 3 1 2 3 1 4 5 ``` ### 输出 #1 ``` 3 4 1 5 2 ``` ## 说明/提示 ### 数据规模与约定 - $1 \le n \le 10^5$ - $1 \le m \le 2 \cdot 10^5$ - $1 \le a, b \le n$