6973.Course Schedule II

Time Limit: 1s Memory Limit: 512MB

You want to complete $n$ courses that have requirements of the form "course $a$ has to be completed before course $b$ ".

You want to complete course $1$ as soon as possible. If there are several ways to do this, you want then to complete course $2$ as soon as possible, and so on.

Your task is to determine the order in which you complete the courses.

Input Format(From the terminal/stdin)

The first input line has two integers $n$ and $m$ : the number of courses and requirements. The courses are numbered $1,2,\dots,n$ .

Then, there are $m$ lines describing the requirements. Each line has two integers $a$ and $b$ : course $a$ has to be completed before course $b$ .

You can assume that there is at least one valid schedule.

  • $1 \le n \le 10^5$
  • $1 \le m \le 2 \cdot 10^5$
  • $1 \le a,b \le n$

Output Format(To the terminal/stdout)

Print one line having $n$ integers: the order in which you complete the courses.

Sample Input

Copy
4 2
2 1
2 3
 · \n
 · \n
 · \n

Sample Output

Copy
2 1 3 4
 · · · \n
Source: CSES, Advanced Graph Problems, 1757

Submit

请先 登录

© 2025 FAQs