#3130. Planets Queries II

Planets Queries II

Planets Queries II

题目描述

你正在玩一个由 n 个行星组成的游戏。每个行星都有一个传送器可以把你传送到另一个行星(或传送到它自己)。 你需要处理 q 个查询,形式为:你现在在行星 a,想要到达行星 b。最少需要多少次传送?

输入格式

第一行包含两个整数 n 和 q:行星数量和查询数量。行星编号为 1,2,\ldots,n。 第二行包含 n 个整数 t1,t2,t_1,t_2,\ldots,tnt_n:对于每个行星,传送器的目的地。 接下来有 q 行描述查询。每行有两个整数 a 和 b:你现在在行星 a,想要到达行星 b。

输出格式

对于每个查询,输出最少的传送次数。如果无法到达目的地,输出 -1。

5 3
2 3 2 3 2
1 2
1 3
1 4
1
2
-1

提示

1n,q21051 \le n, q \le 2 \cdot 10^5 1a,bn1 \le a,b \le n

标签: CSES1160|图论

来源

CSES1160|图论