没有原因的编译失败。。。
附代码(P1135):
#include<bits/stdc++.h>
using namespace std;
int n,k[205],a,b,ans[205];
struct node{
int x,step;
};
queue<node>q;
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
cin>>k[i];
memset(ans,-1,sizeof(ans));
ans[a]=0;
q.push((node){a,0});
while(!q.empty())
{
node t=q.front();
q.pop();
for(int i=1;i<=2;i++)
{
int now=t.x+k[t.x];
k[t.x]=-k[t.x];
if(now<1||now>n)continue;
if(ans[now]!=-1)continue;
q.push((node){now,t.step+1});
ans[now]=t.step+1;
if(now==b)
{
cout<<ans[now];
return 0;
}
}
}
cout<<-1;
return 0;
}