#AT1141. 滑石迷
滑石迷
题目描述
Ken喜欢玩滑石迷游戏(日本的跳格子游戏)。
今天,他将在一个有向图上玩这个游戏。 由个编号为到的顶点和条边组成。第条边从顶点指向顶点。
首先,Ken站在顶点上。他想通过重复滑石迷来到达顶点。
在一次滑石迷中,他恰好做了以下三次:
沿着他所站顶点指向的边走。(意思就是每一次操作必须经过三条边)
确定是否能够通过重复滑石迷达到顶点工。
如果答案是肯定的,找到达到顶点工所需的最小滑石迷次数。
注意,在一次滑石迷中间路过顶点 不算到终点。
输入
第一行两个整数
接下来一共行,表示第条边的两个顶点
最后一行,表示起点和终点。
输出
如果Ken无法通过重复滑石迷从顶点到达顶点,则输出-1。
如果可以到达,输出达到顶点所需的最小滑石迷次数。
4 4
1 2
2 3
3 4
4 1
1 3
2
样例解释
Ken可以在两次滑石迷中从顶点1到达顶点3,过程如下:第一次滑石迷:1→2→3→4,第二次滑石迷:4 →1→2→3。这是所需要的最小滑石迷次数。
3 3
1 2
2 3
3 1
1 2
-1
样例解释
无论多少次滑石迷,Ken都会回到顶点 1,所以他不能到达顶点2,尽管他可以在一次滑石迷中经过顶点2。
2 0
1 2
-1
样例解释
顶点S和顶点可能不连通。
6 8
1 2
2 3
3 4
4 5
5 1
1 4
1 5
4 6
1 6
2
提示
如果,