小慕正在挑战一个全新的项目关卡。面前有一座由 N 块木板组成的,他从吊桥外侧的第 0 块木板开始起跳,每次可以跳 1、2 或 3 步。吊桥上有一些木板是陷阱,一旦踩到就会消耗 1 点生命值,并在原地复活。如果小慕刚好跳到吊桥另一侧的第 N+1 块木板,就算通关。 给定小慕的初始生命值 M,吊桥长度 N,的数量 K 以及 K 个陷阱木板的编号,请计算在所有可能的通关路线中,能够保证生命值始终大于 0 的路线总数。
提示:带虚线的词点一下有通俗解释。
输入描述
输入描述 超级玛丽当前生命数:1 <= M <= 5 吊桥的长度:1 <= N <= 32 陷阱木板数:1 <= K <= 32 陷阱木板编号数组: L 是长度及元素不大于 N 的编号数组 输入结构 M N K L 提示 1. 输入总是合法,忽略参数校验。 2. 必须从起点开始走。 3. 必须离开吊桥走到终点。
输出描述
输出通过此关的吊桥走法个数,如果不能通过此关,请输出 0
示例
示例 1
输入
2 2 1 2
输出
4
时间限制 1000 ms · 内存限制 128 MB