CSES 1680 - Longest Flight Route
1.0s 512MUolevi 想從城市 \(1\)(Syrjälä)飛到城市 \(n\)(Lehmälä),且想要造訪盡可能多的城市。
你已知有 \(m\) 條單向航班連接著這些城市。整個航班網路中沒有有向環。
你的任務是找出一條從城市 \(1\) 出發、最終抵達城市 \(n\)、經過最多城市的路徑。
輸入格式
第一行包含兩個整數 \(n\) 和 \(m\):城市數量與航班數量。城市編號為 \(1, 2, \ldots, n\)。
接下來有 \(m\) 行,每行包含兩個整數 \(a\) 和 \(b\),表示存在一條從城市 \(a\) 飛到城市 \(b\) 的航班。
輸出格式
第一行輸出造訪的最多城市數量。
第二行輸出依造訪順序排列的城市。
若不存在從城市 \(1\) 到城市 \(n\) 的路徑,輸出 IMPOSSIBLE。
範例輸入 1
5 5
1 2
2 5
1 3
3 4
4 5
範例輸出 1
4
1 3 4 5
限制
- \(2 \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;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入