#LQP20240305. 青蛙跳
青蛙跳
编程实现
有个大小相等的格子从左到右排成一排,编号从到,其中个格子有荷叶,初始时青蛙在编号为的格子。青蛙要按照以下规则,跳到最后一个有荷叶的格子; 1、青蛙每次最少跳格,最多跳格: 2、青蛙每次只能跳到有荷叶的格子; 3、青蛙不能往回跳。 给定个有荷叶的格子编号,以及青蛙每次最多可以跳的格子数。请计算青蛙一共有多少种不同的方式跳到最后一个有荷叶的格子,如果青蛙不能跳到最后一个有荷叶的格子,输出。
例如: ,个有荷叶的格子编号依次为,青蛙每次最多跳格:
青蛙有以下不同的方式跳到最后一个有荷叶的格子(号格子): 第一种:先跳到编号的格子,接着跳到编号的格子,再跳到编号的格子,最后跳到编号的格子;
第二种:先跳到编号的格子,再跳到编号的格子,最后跳到编号的格子:
第三种:先跳到编号的格子,再跳到编号的格子,最后跳到编号的格子:
第四种:先跳到编号的格子,再跳到编号的格子,最后跳到编号的格子:
第五种:先跳到编号的格子,最后跳到编号的格子。
青蛙一共有种不同的方式跳到最后一个有荷叶的格子。
输入描述
第一行输入一个整数,表示有荷叶的格子数 第二行按从小到大的方式输入个互不相同的整数,表示有荷叶的格子编号,整数之间以一个空格隔开 第三行输入一个整数,表示青蛙每次最多可以跳的格子数
输出描述
输出一个整数,表示青蛙一共有多少种不同的方式跳到最后一个有荷叶的格子
样例
输入样例 #1
4
1 3 4 6
3
输出样例 #1
5