#746. 寻找道路

寻找道路

题目描述

在有向图 G\red{ G} 中,每条边的长度均为 1 \red{1} ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:

  1. 路径上的所有点的出边所指向的点都直接或间接与终点连通。
  2. 在满足条件 1\red1 的情况下使路径最短。

注意:图 G \red{G} 中可能存在重边和自环,题目保证终点没有出边。

请你输出符合条件的路径的长度。

输入格式

第一行有两个用一个空格隔开的整数 n \red{n }m \red{m} ,表示图有 n \red{n} 个点和 m \red{m} 条边。

接下来的 m\red{ m } 行每行 2 \red{2} 个整数 x,y\red{ x, y} ,之间用一个空格隔开,表示有一条边从点 x\red{ x} 指向点 y\red{ y }

最后一行有两个用一个空格隔开的整数 s,t \red{s, t },表示起点为 s \red{s },终点为 t \red{t }

输出格式

输出只有一行,包含一个整数,表示满足题目描述的最短路径的长度。如果这样的路径不存在,输出 1 \red{-1 }

样例

样例输入 1

3 2
1 2
2 1
1 3

样例输出 1

-1

样例输入 1

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

样例输出 2

3

数据范围与提示

对于 30%\red{ 30\% } 的数据,0<n10 \red{0 < n \le 10} 0<m20 \red{0 < m \le 20}

对于 60% \red{60\%} 的数据,0<n100 \red{0 < n \le 100} 0<m2000\red{ 0 < m \le 2000}

对于 100% \red{100\% } 的数据,0<n10000 \red{0 < n \le 10000} 0<m200000 \red{0 < m \le 200000} 0<x,y,s,tn\red{ 0 < x, y, s, t \le n} x,st\red{ x,s \ne t}