#CSES1757. 课程安排 II

    ID: 422 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>图论拓扑排序优先队列DAG字典序最小CSES

课程安排 II

题目背景

翻译自 CSES-1757 题。

题目描述

你想完成 nn 门课程,这些课程有要求,形式为"课程 aa 必须在课程 bb 之前完成"。

你希望尽早完成课程 11。如果有多种方法可以完成课程 11,那么接下来就尽早完成课程 22,以此类推。

你的任务是确定完成课程的顺序。

输入格式

第一行包含两个整数 nnmm,分别表示课程的数量和课程之间的要求关系数。课程编号为 1,2,,n1, 2, \ldots, n

接下来的 mm 行描述课程之间的要求关系。每行有两个整数 aabb,表示课程 aa 必须在课程 bb 之前完成。

你可以假设至少有一种有效的课程安排。

输出格式

输出一行,包含 nn 个整数,表示完成课程的顺序。

样例

4 2
2 1
2 3
2 1 3 4

数据范围

  • 1n1051 \le n \le 10^5
  • 1m2×1051 \le m \le 2 \times 10^5
  • 1a,bn1 \le a, b \le n