#8 #9 挂了,大佬们谁帮我改一下
查看原帖
#8 #9 挂了,大佬们谁帮我改一下
495599
CSZD楼主2022/5/28 20:53
#include<iostream>
#include<cstdio>
using namespace std;
int c[250];
bool d[250];
int n,a,b,s,ans=101010;
void dg(int a,int s)
{
	if(a==b)
	{
		ans=min(ans,s);
		return ;
	}
	d[a]=1;
	if(s>ans)return ;
	if(a+c[a]<=n&&d[a+c[a]]!=1)
	{
		dg(a+c[a],s+1);
	}
	if(a-c[a]>=1&&d[a-c[a]]!=1)
	{
		dg(a-c[a],s+1);
	}
	
}
int main() 
{
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>c[i];
	}
	d[a]==1;
	dg(a,s);
	if(ans==101010)
	{
		cout<<-1<<endl;
		return 0;
	}
	cout<<ans;
	return 0;
}
2022/5/28 20:53
加载中...