12pts求调
查看原帖
12pts求调
1095806
Supa7onyz楼主2024/4/2 22:20
#include <iostream>
using namespace std;
int ans=0xfffff,n,a,b,flr[200+1];
void dfs(int high,int times){
    if (high==b){
        ans=min(ans,times);
        return;
    }
    if (high+flr[high-1]<=n){
        dfs(high+flr[high-1],times+1);
    }
    if (high-flr[high-1]>0){
        dfs(high-flr[high-1],times+1);
    }
    return;
}
int main()
{
    cin>>n>>a>>b;
    for (int i=0;i<n;i++){
        cin>>flr[i];
    }
    dfs(a,0);
    cout<<ans;
    if (ans==0xfffff){
        cout<<-1;
    }
    return 0;
}
2024/4/2 22:20
加载中...