#T2098. 最长飞行路线(Longest Flight Route)

最长飞行路线(Longest Flight Route)

链接: https://cses.fi/problemset/task/1680

板块: Graph Algorithms

时限: 1.00 s | 内存: 512 MB

题目描述

Uolevi 赢了一场比赛,奖品是一次免费的飞行旅行,可以包含一个或多个经过城市的航班。当然,Uolevi 想选择一座城市尽可能多的旅行。

你想从 Syrjälä 飞到 Lehmälä,以便访问尽可能多的城市。给定可能的航班列表,且你知道航班网络中不存在有向环。

输入

第一行输入包含两个整数 nnmm:城市数量和航班数。城市编号为 1,2,,n1,2,\dots,n。城市 11 是 Syrjälä,城市 nn 是 Lehmälä。

之后有 mm 行描述航班。每行包含两个整数 aabb:存在一条从城市 aa 到城市 bb 的航班。每个航班都是单向航班。

输出

先输出路线上最多的城市数量。之后按访问顺序输出这些城市。你可以输出任意合法解。

如果没有解,输出 "IMPOSSIBLE"。

数据范围

2n1052 \le n \le 10^5 1m21051 \le m \le 2 \cdot 10^5 1a,bn1 \le a,b \le n

样例输入

5 5
1 2
2 5
1 3
3 4
4 5

样例输出

4
1 3 4 5