玄关!!!!!!!!!!!!!!!!!!!!
查看原帖
玄关!!!!!!!!!!!!!!!!!!!!
1037200
lty2023楼主2024/8/23 16:10

30分

#include<bits/stdc++.h>
using namespace std;
int n,A,B,sum=0,man=10000,a[10001];
void f(int x){
	if(x==B){
		man=min(sum,man);
		return;
	}
	if(x==A){
		sum--;
		return;
	}
	else{
		sum++;
		if(x+a[x]<=n){
			f(x+a[x]);
		}
		if(x-a[x]>=1){
			f(x-a[x]);
		}
	}
	sum--;
}
int main(){
	cin>>n>>A>>B;
	for(int i=1;i<n;i++){
		cin>>a[i];
	}
	f(A);
	if(man==10000){
		cout<<-1;
		return 0;
	}
	cout<<man;
}
2024/8/23 16:10
加载中...