直接对着所要搜索的楼层强行dfs就行 注意要增进去一个用于判断行动步数的计数
#by solaca
def dfs(it,t):
global n,f,N
f[it] = t+1
if N[it]+it<=n:
if f[N[it]+it]>t+1:
dfs(N[it]+it,t+1)
else:
return
if it-N[it]>=1:
if f[it-N[it]]>t+1:
dfs(it-N[it],t+1)
else:
return
n,a,b=map(int,input().split())
N = [0]+list(map(int,input().split()))
f = [250]*(n+1)
f[a]=1
dfs(a,0)
if f[b]==250:
print(-1)
else:
print(f[b]-1)