12分,几乎全MLE,速救!!!
查看原帖
12分,几乎全MLE,速救!!!
1428648
shangqingyun楼主2025/7/31 12:51
#include<bits/stdc++.h>
using namespace std;
int a,b,n,_floor[210],ans=INT_MAX;
void dfs(int fl,int cishu){
	if(fl==b){
		ans=min(ans,cishu);
		return ;
	}
	if(!(fl-_floor[fl]<1)){
		dfs(fl-_floor[fl],cishu+1);
	}	
	if(!(fl+_floor[fl]>n)){
		dfs(fl+_floor[fl],cishu+1);
	}
	return ; 	
}
int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++) cin>>_floor[i];
	dfs(a,0);
	if(ans==INT_MAX) cout<<"-1";
	else cout<<ans;
	return 0;
}
2025/7/31 12:51
加载中...