问题 26270 --NOIP2014提高组E. 寻找道路

26270: NOIP2014提高组E. 寻找道路

时间限制: 1 Sec  内存限制: 128 MB
提交: 105  解决: 33
[提交][状态][讨论版][命题人:]

题目描述

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

1.路径上的所有点的出边所指向的点都直接或间接与终点连通。

2.在满足条件 1的情况下使路径最短。

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

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

输入

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

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

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


【数据说明】

对于的30%数据,0  < n 100 < m 20

对于的60%数据,0  < n 1000 < m 2000

对于的70%数据,0  < n 10,0000 < m 200,0000 < xyst nxt



输出

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

样例输入

3 2
1 2 
2 1
1 3

样例输出

-1

提示


【输入输出样例1
















road.in




road.out




3 2



1 2



2 1



1 3




-1



 





【输入输出样例说明】












如上图所示,箭头表示有向道路,圆点表示城市。起点与终点不连通,所以满足题目描述的路径不存在,故输出。



【输入输出样例2
















road.in




road.out




6 6



1 2



1 3



2 6



2 5



4 5



3 4



1 5




3



 





【输入输出样例说明】










如上图所示,满足条件的路径为1->3->4->5。注意点2不能在答案路径中,因为点2连了一条边到点6,而点6不与终点5连通。






来源

 

[提交][状态]