1782: 跳跳跳

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:33 解决:14

题目描述

小亮对数组的操作有独特想法,他定义了一种特殊的数组跳跃游戏。给定一个长度为  n  的整数数组  nums ,从数组的第一个元素开始跳跃。每次跳跃的距离由当前元素的值决定,例如,若当前元素值为  k ,则向前跳跃  k  个位置(数组下标从  0  开始)。如果跳跃后超出数组范围,则停止跳跃,跳出范围的那一次跳跃无效。请计算从数组开头开始,一共能进行多少次跳跃。

输入

第一行输入一个正整数  n ,代表数组的长度。 (1 <= n <= 1000) 第二行包含 n 个用空格分隔的正整数,这些数共同组成数组 nums ,且数组中的每个元素 nums[i] 满足 1 <= nums[i] <= 10 。

输出

输出一个整数,表示从数组开头开始总共能跳跃的次数。

样例输入 复制

7
2 3 1 1 4 2 1

样例输出 复制

3

提示

起始位置为数组第一个元素  2 ,依据规则,跳跃距离为  2 ,从下标  0  跳到下标  0 + 2 = 2  的位置,此处元素为  1 ,完成第  1  次跳跃。 处于下标  2  位置,元素值为  1 ,跳跃距离为  1 ,跳到下标  2 + 1 = 3  的位置,该位置元素为  1 ,完成第  2  次跳跃。 位于下标  3  位置,元素值为  1 ,跳跃距离为  1 ,跳到下标  3 + 1 = 4  的位置,此位置元素为  4 ,完成第  3  次跳跃。 当下标为  4 ,元素值为  4 ,跳跃距离为  4 ,尝试跳到下标  4 + 4 = 8  的位置,然而数组长度为  7 ,超出范围,停止跳跃,此为第  4  次跳跃。因为最后一次跳跃已经超过范围,不算有效跳跃,所以总共跳跃次数为  3  次。

来源/分类