A7658 | [ABC129C] Typical Stairs
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
有 $N$ 段的楼梯。高桥君现在在楼梯的起点(第 $0$ 段)。高桥君每一步可以上 $1$ 段或 $2$ 段。
但是,第 $a_1,a_2,a_3,\ldots,a_M$ 段的楼梯已经损坏,踩在这些楼梯上是危险的。
在不踩到损坏楼梯的前提下,从起点到达最顶端(第 $N$ 段)的方法有多少种?请输出方案数对 $1,000,000,007$ 取模的结果。
但是,第 $a_1,a_2,a_3,\ldots,a_M$ 段的楼梯已经损坏,踩在这些楼梯上是危险的。
在不踩到损坏楼梯的前提下,从起点到达最顶端(第 $N$ 段)的方法有多少种?请输出方案数对 $1,000,000,007$ 取模的结果。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$ $a_1$ $a_2$ $\ldots$ $a_M$
> $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$ 取模。
- $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$ 取模。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?