小A所在的岛上一共有 n 座城市,城市之间一共有 m 条单向道路连接,保证这些道路不会形成环路,也就是不存在从某座城市出发,经过一系列的道路最终又回到原点的情况。
出于某种原因,小A需要从起点城市 s 前往城市 t,可能会有许多种不同的路径。小A想知道途径的可能的城市(除s、 t外)中,哪一个城市对他是最重要的,换句话说,从 s 到 t 的所有路径中,需要经过哪个城市的路径条数最多。
给定一个 n 个点 m 条边的有向无环图,所有点的编号从 1 到 n,给出一个起点 s 和一个终点 t,求出一个点 ans,使得经过 ans 的从 s 到 t 的路径最多。
输出这个点 ans 和具体的路径数,如果有多个点经过的数量相同,取编号最小的那一个;如果 s 不能到达 t,或从 s 到 t 的路径中间不能途径其他点,输出 -1。
经过 2 的路径最多,一共有 4 条:{1,2,3,5},{1,2,4,5},{1,2,5},{1,2,3,4,5}。经过3的路径也有4条{1,2,3,5},{1,3,5},{1,3,4,5},{1,2,3,4,5},不过2编号更小。