6757.Course Schedule

Time Limit: 1s Memory Limit: 512MB

You have to complete $n$ courses. There are $m$ requirements of the form "course $a$ has to be completed before course $b$ ". Your task is to find an order in which you can 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$ .

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

  • $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 an order in which you can complete the courses. You can print any valid order that includes all the courses.

If there are no solutions, print IMPOSSIBLE.

Sample Input

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

Sample Output

Copy
3 4 1 5 2
 · · · · \n
Source: CSES, Graph Algorithms, 1679

Submit

请先 登录

© 2025 FAQs