rt
#include<bits/stdc++.h>
using namespace std;
int n,s,c,a[222],minx=2222222,sum=0;
bool vis[222];
void dfs(int x)
{
if(sum>=minx) return;
if(x==c)
{
minx=sum;
return;
}
for(int i=-1;i<=1;i+=2)
{
int xx=x+i*a[x];
if(xx>=1&&xx<=n&&!vis[xx])
{
sum++;
vis[xx]=1;
dfs(xx);
vis[xx]=0;
sum--;
}
}
}
int main()
{
cin >> n >> s >> c;
for(int i=1;i<=n;i++)
cin >> a[i];
vis[s]=1;
dfs(s);
if(minx==2222222)
{
cout << -1;
return 0;
}
cout << minx;
return 0;
}
评测记录