很奇怪,样例2的输出与我本地运行的输出一模一样,却WA了,大佬们救救我吧!
#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[255],v[255],t[9999999],ts[9999999],mn=1e9;
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++)cin>>k[i];
int l=1,r=2;
t[1]=a,ts[1]=0,v[a]=1;
while(l<r){
if(t[l]==b)mn=min(mn,ts[l]);
if(t[l]==0){
l++;
continue;
}
if(t[l]+k[t[l]]<=n&&v[t[l]+k[t[l]]]==0)t[r++]=t[l]+k[t[l]],v[t[l]+k[t[l]]]=1,ts[r-1]=ts[l]+1;
if(t[l]-k[t[l]]>=1&&v[t[l]-k[t[l]]]==0)t[r++]=t[l]-k[t[l]],v[t[l]+k[t[l]]]=1,ts[r-1]=ts[l]+1;
l++;
}
if(mn!=1e9)cout<<mn;
else cout<<-1;
return 0;
}