我的代码:
#include<bits/stdc++.h>
using namespace std;
int a1[300],sum;
bool r[300];
int main( )
{
int n,a,b;
cin>>n>>a>>b;
for(int i=1;i<=n;i++) cin>>a1[i];
queue<int> q;
q.push(a);
while(!q.empty())
{
int cmp=q.front();
if(cmp==b) break;
q.pop();
if(r[cmp])
{
cout<<-1;
return 0;
}
r[cmp]=true;
if(cmp-a1[cmp]>=1) q.push(cmp-a1[cmp]);
if(cmp+a1[cmp]<=n) q.push(cmp+a1[cmp]);
sum++;
}
cout<<sum;
return 0;
}