dfs,MLE
查看原帖
dfs,MLE
691375
The_Administrator楼主2024/7/5 08:34
#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[100000];
int dfs(int u,int step)
{
	if(u<1||u>n)return INT_MAX;
	if(u==b)return step;
	return min(dfs(u-k[u],step+1),dfs(u+k[u],step+1));
}
int main()
{
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)cin>>k[i];
	if(dfs(a,0)==INT_MAX)cout<<-1;
	else cout<<dfs(a,0);
}
2024/7/5 08:34
加载中...