华为机考 · 中等 · 图论、拓扑排序、堆
项目有 n 个模块,编号 1 ~ n。给出 m 条依赖 a b,表示模块 a 必须在模块 b 之前编译。请输出一个合法的编译顺序;若有多个合法顺序,输出字典序最小的那个(每一步都选当前可编译的编号最小的模块)。若存在循环依赖,输出 -1。
在 RagCodes 上用 Python / C++ / Java 在线编写并提交,核心代码模式与 ACM 模式均可评测。