测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7658. [ABC129C] Typical Stairs

编程题 普及-
知识点

题目描述

有 $N$ 段的楼梯。高桥君现在在楼梯的起点(第 $0$ 段)。高桥君每一步可以上 $1$ 段或 $2$ 段。

但是,第 $a_1,a_2,a_3,\ldots,a_M$ 段的楼梯已经损坏,踩在这些楼梯上是危险的。

在不踩到损坏楼梯的前提下,从起点到达最顶端(第 $N$ 段)的方法有多少种?请输出方案数对 $1,000,000,007$ 取模的结果。

输入格式

输入通过标准输入给出,格式如下:

> $N$ $M$ $a_1$ $a_2$ $\ldots$ $a_M$

输出格式

请输出满足条件的移动方法总数对 $1,000,000,007$ 取模的结果。

输入输出样例

输入 #1
6 1
3
输出 #1
4
输入 #2
10 2
4
5
输出 #2
0
输入 #3
100 5
1
23
45
67
89
输出 #3
608200469

说明/提示

## 限制条件

- $1 \leq N \leq 10^5$
- $0 \leq M \leq N-1$
- $1 \leq a_1, a_2, \ldots, a_M \leq N$

## 样例解释 1

共有以下 $4$ 种移动方法:
- $0 \to 1 \to 2 \to 4 \to 5 \to 6$
- $0 \to 1 \to 2 \to 4 \to 6$
- $0 \to 2 \to 4 \to 5 \to 6$
- $0 \to 2 \to 4 \to 6$

## 样例解释 2

也有可能没有任何一种不踩到损坏楼梯的移动方法。

## 样例解释 3

请注意,输出的答案需要对 $1,000,000,007$ 取模。
上一题 去做题 下一题