题面描述
给定一张 n 个点 m 条边的有向图,及起点 s 与终点 t。从 s 出发,每次可以走恰好 3 步,问要走多少次 3 步,才能到达 t。如果不能到达,输出 −1。
1≤n,m≤105,s=t。
没有重边自环
输入格式
第一行两个整数 n,m
接下来 m 行每行两个整数 u,v
最后一行两个整数 s,t
输出格式
输出最少需要几次连续的三步可以到的 t,无法到达输出 −1
4 4
1 2
2 3
3 4
4 1
1 3
2
3 3
1 2
2 3
3 1
1 2
-1
2 0
1 2
-1
6 8
1 2
2 3
3 4
4 5
5 1
1 4
1 5
4 6
1 6
2
提示
- 2 ≤ N ≤ 105
- 0 ≤ M ≤ min(105, N (N−1))
- 1 ≤ ui, vi ≤ N(1 ≤ i ≤ M)
- ui = vi (1 ≤ i ≤ M)
- i = j ならば (ui, vi) = (uj, vj)
- 1 ≤ S, T ≤ N
- S = T
Sample Explanation 1
从顶点 1 出发,Ken
可以通过两个 3 步到达顶点 3,具体如下:在第一轮中按照 1→2→3→4 行走,然后在第二轮中按照 4→1→2→3。这是所需的最小步数。