CSES 1679 - Course Schedule
1.0s 512M你必須完成 \(n\) 門課程。共有 \(m\) 個形如「課程 \(a\) 必須在課程 \(b\) 之前完成」的先後條件。你的任務是找出一個可以完成所有課程的順序。
輸入格式
第一行有兩個整數 \(n\) 與 \(m\):課程數與先後條件數。課程編號為 \(1, 2, \dots, n\)。
接下來有 \(m\) 行描述先後條件。每行有兩個整數 \(a\) 與 \(b\):課程 \(a\) 必須在課程 \(b\) 之前完成。
輸出格式
輸出一個可以完成所有課程的順序。你可以輸出任何包含全部課程的合法順序。
若無解,輸出 "IMPOSSIBLE"。
範例輸入 1
5 3
1 2
3 1
4 5
範例輸出 1
3 4 1 5 2
限制
- \(1 \le n \le 10^5\)
- \(1 \le m \le 2 \cdot 10^5\)
- \(1 \le a, b \le n\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入