90分求助,#8,#9 WA
查看原帖
90分求助,#8,#9 WA
605945
luo_xiaoran楼主2022/5/18 17:16
#include<stdio.h>
int n,a,b,k[210],bl[210];
int dfs(int a1)
{
	int h=9999,l=9999;
	if(bl[a1]==1)
	{
		return 9999;
	}
	bl[a1]=1;
	if(a1==b)
	{
		return 0;
	}
	if(a1==0)
	{
		return h;
	}
	if(a1+k[a1]<=n)
	{
		h=dfs(a1+k[a1]);
	}
	if(a1-k[a1]>=1)
	{
		l=dfs(a1-k[a1]);
	}
	if(h>l)
	{
		return l+1;
	}
	else
	{
		return h+1;
	}
}
int main()
{
	int i,c;
	scanf("%d%d%d",&n,&a,&b);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&k[i]);
	}
	c=dfs(a);
	if(c<9990)
	{
		printf("%d",c);
	}
	else
	{
		printf("-1");
	}
	return 0;
}
2022/5/18 17:16
加载中...