#T560485. 走台阶(2)

走台阶(2)

题目描述

H老师爬台阶,他可以每步上1个或2个台阶,输入台阶的级数n,求不同的走法数。

例如,n=3,台阶有3个台阶,他可以每步爬1个台阶,或者第1步爬1个台级,第2步爬2个台阶,也可以第1步爬2个台阶,第2步爬1个台阶,一共有3种爬法。

但不幸的是,台阶上有k个台阶烂了,H老师不能踩在这些台阶上,现在给出台阶的级数n和烂的k个台阶,请你计算他上台阶的方法总数。

输入格式

第1行是两个正整数n, k,代表台阶数和烂台阶的数目。

第2行是k个1~n的整数,表示烂台阶。

输出格式

输出占一行,为不同的走法数。

输入输出样例 #1

输入 #1

5 1
4

输出 #1

3

说明/提示

数据规模与约定:

100%的数据满足:1≤n≤60,0≤k≤n。

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.