#S6U11P04. 【作业】按楼层跳转的电梯
【作业】按楼层跳转的电梯
按楼层跳转的电梯
难度:T2
【知识点:广度优先搜索、等代价状态转移】
前置知识:数组、循环、队列、首次发现时标记距离。
题目描述
一栋楼共有 n 层,编号为 1 到 n。电梯初始在 A 层,目标是 B 层。在第 x 层按一次上行键会到 x+a[x] 层,按一次下行键会到 x-a[x] 层;结果不在 1 到 n 范围内的按键不能使用。只能停在跳转终点,不会停在中间楼层。求最少按键次数;无法到达输出 -1。A=B 时为 0;a[x]=0 时按键不会改变楼层。
输入格式
第一行 n A B。第二行 n 个整数 a[1] 到 a[n]。
输出格式
一行一个整数,表示最少次数或 -1。
样例输入
5 1 5
2 1 2 1 1
样例输出
2
样例解释
1→3→5,两次按键。
数据范围
1≤n≤1000,1≤A,B≤n,0≤a[x]≤n。