计蒜客 挑战难题 第20题:跳跃游戏二

第20题:跳跃游戏二

 
 
 时间限制 1000 ms
 内存限制 10000 K

给定一个非负整数数组,假定你的初始位置为数组第一个下标。

数组中的每个元素代表你在那个位置能够跳跃的最大长度。

你的目标是到达最后一个下标,并且使用最少的跳跃次数。

例如:

A = [2,3,1,1,4], 到达最后一个下标的最少跳跃次数为2.(先跳跃1步,从下标0到1,然后跳跃3步,到达最后一个下标。一共两次)

格式:

第一行输入一个正整数n,接下来的一行,输入数组A[n]。

最后输出最少的跳跃次数。

样例输入

5
3 1 1 1 1

样例输出

2

仅供参考:

#include 

int Jump(int n,int A[]);

int Max(int i,int A[],int n);

void main()
{
	int A[1000];
	int n;
	
	scanf("%d",&n);
    
	for(int i=0;i=n-1)
            return count;
        else if(Max(x,A,sum)<=sum)
            break;
		x=Max(x,A,sum)-sum;
		sum+=x;
    }
    if(sum


你可能感兴趣的:(计蒜客)