36分求条
查看原帖
36分求条
1721424
duchuyuanX楼主2025/8/30 20:35

我的代码:

#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;
}
2025/8/30 20:35
加载中...