问题 B: 魔法学院的课程安排
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:3
题目描述
魔法学院开设了 N 门课程,编号 0 到 N-1。
给定 M 个先修关系,每个关系 [a,b] 表示:要修读课程 a,必须先修完课程 b。
请判断是否可以修完所有课程。如果可以,输出一种可行的修课顺序;如果不能(存在循环依赖),输出 "Impossible"。
输入
第一行两个整数 N, M。
接下来 M 行,每行两个整数 a, b,表示 b → a 的依赖关系。
输出
一行整数,表示修课顺序;或输出 "Impossible"。
样例输入 复制
6 6
2 0
3 1
4 2
5 3
4 3
5 4
样例输出 复制
1 3 0 2 4 5
提示
1 ≤ N ≤ 5000
依赖关系为:0→2→4, 1→3→5, 3→4→5。 这是一个复杂的 DAG,0 和 1 是入度为 0 的点。 输出 1 0 3 2 4 5 也是正确的。