94分WA
查看原帖
94分WA
774823
yuhaotian000楼主2025/2/7 18:36
#include <iostream>
using namespace std;
int a[205],vis[205],record[205][3],q[3]={1,-1};
int main(){
    int n,x,y;
    cin>>n>>x>>y;
    if(x==y){
        cout<<0;
        return 0;
    }
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    record[1][1]=x;
    record[1][2]=0;
    vis[1]=1;
    int h=0,t=1;
    while(h<t){
        h++;
        for(int i=0;i<2;i++){
            int s=q[i]*a[record[h][1]]+record[h][1];
            if(s>=1&&s<=n&&vis[s]==0){
                vis[s]=1;
                t++;
                record[t][1]=s;
                record[t][2]=record[h][2]+1;
                if(record[t][1]==y){
                    cout<<record[t][2];
                    return 0;
                }
            }
        }
    }
    cout<<-1;
}
2025/2/7 18:36
加载中...