#ABC132E. Hopscotch Addict
Hopscotch Addict
题目描述
Ken loves ken-ken-pa (Japanese version of hopscotch). Today, he will play it on a directed graph . consists of vertices numbered to , and edges. The -th edge points from Vertex to Vertex .
First, Ken stands on Vertex . He wants to reach Vertex by repeating ken-ken-pa. In one ken-ken-pa, he does the following exactly three times: follow an edge pointing from the vertex on which he is standing.
Determine if he can reach Vertex by repeating ken-ken-pa. If the answer is yes, find the minimum number of ken-ken-pa needed to reach Vertex . Note that visiting Vertex in the middle of a ken-ken-pa does not count as reaching Vertex by repeating ken-ken-pa.
Ken 喜欢_ken-ken-pa_(日语版跳房子)。今天,他要在有向图 上玩这个游戏。 由 个顶点(编号为 至 )和 条边组成。其中 -th 边指向顶点 和顶点 。
首先,Ken 站在顶点 上。他希望通过重复 ken-ken-pa 到达顶点 。在一次 ken-ken-pa 中,他恰好做了以下三次:沿着从他所站顶点指向的边走。
判断他是否能通过重复 ken-ken-pa 到达顶点 。如果答案是肯定的,求到达顶点 所需的最少 ken-ken-pa 次数。注意,在 ken-ken-pa 过程中到达顶点 不能算作重复 ken-ken-pa 到达顶点 。
输入格式
输入内容按以下格式标准输入:
输出格式
如果 Ken 无法通过重复 ken-ken-pa 从顶点 到达顶点 ,打印 。如果可以,打印到达顶点 所需的最少 ken-ken-pa 次数。
样例 #1
样例输入 #1
4 4
1 2
2 3
3 4
4 1
1 3
样例输出 #1
2
样例 #2
样例输入 #2
3 3
1 2
2 3
3 1
1 2
样例输出 #2
-1
样例 #3
样例输入 #3
2 0
1 2
样例输出 #3
-1
样例 #4
样例输入 #4
6 8
1 2
2 3
3 4
4 5
5 1
1 4
1 5
4 6
1 6
样例输出 #4
2
说明
数据规模与约定
- 如果 , 。
样例 解释
从顶点 出发,Ken 可以通过两个 ken-ken-pa 到达顶点 ,具体如下:在第一个 ken-ken-pa 中有 ,然后在第二个 ken-ken-pa 中有 。这是所需的最小禅杖数。
样例 解释
任何数量的 ken-ken-pa 都会将 Ken 带回到顶点 ,因此他无法到达顶点 ,尽管他可以在 ken-ken-pa 中穿过顶点 。
样例 解释
顶点 和顶点 可能断开。