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 次。