#2335. 希蒙坐公交车
希蒙坐公交车
希蒙坐公交车
题目背景
赛码所在的城市具有复杂的交通系统,这让希蒙想来上集训变得非常的麻烦。
该城市的结构可以描述成一个个节点的树,希蒙住在一号点上。其中有条公交路径,用其两个端点描述,公交车会在间的最短路径上往返运行。希蒙可以在公交车上中途下车,但是希蒙只能在路径端点上车。
希蒙想知道,他到各点至少需要坐几趟车,若不能到达,输出。
题目描述
给定一棵个节点的树,树上有条路径。
从号点出发,你可以从路径端点上车到路径上任意一点,求到号点最少需要坐几趟车。
输入格式
第一行两个整数,表示节点数与路径数。
第二行个整数,其中第个整数表示号节点的父亲节点。
接下来共行,每行两个整数,表示路径端点。
输出格式
你一共需要输出个整数,表示到达号点最少需要坐的车数,若不可达,请输出。
样例 #1
样例输入 #1
7 4
1 2 3 1 2 3
1 3
2 5
3 4
4 7
样例输出 #1
1
1
2
2
-1
3
提示
数据范围:
对于50%的数据,我们保证。
对于100%的数据,我们保证。