#include<bits/stdc++.h>
using namespace std;
int n,a,b,s1=0,f[205],book[205] = {0};
struct node{
int i,s;
};
queue<node> q;
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>f[i];
}
book[a] = 1;
q.push({a,0});
while(!q.empty()){
node now = q.front();
q.pop();
if(now.i == b){
cout<<now.s;
return 0;
}
int ni = now.i - f[now.i];
if(ni >= a and book[ni] == 0){
q.push({ni,now.s+1});
book[ni] = 1;
}
ni = now.i + f[now.i];
if(ni <= b and book[ni] == 0){
q.push({ni,now.s+1});
book[ni] = 1;
}
}
cout<<-1;
return 0;
}
为啥我每次都是这种大部分过了小部分WA很难找的情况