#iai16b3. 再铺地砖(Tiling Again)
再铺地砖(Tiling Again)
再铺地砖(Tiling Again)
题目描述
有一条道路需要铺设地砖,这条道路由 n × 2 个方格组成。存在两种规格的地砖,一种是 1 × 1 规格的,也就是恰好可以覆盖一个方格,另一种是 1 × 2 规格的。两种规格的砖头的数量没有限制。请计算有多少种方法,将这条道路铺满地砖。
其中花纹是 1 × 1 规格的,灰色是 1 × 2 规格的,可以竖放也可以横放。注意,如果上下两行都放置 1 × 2 规格的砖,它们可以不对齐。
由于方案数可能很大,输出它模 1,000,000,007 的余数即可。


输入格式
单个正整数:表示 n。
输出格式
单个自然数:表示方案数模 1,000,000,007 的余数。
数据范围
- 对于 30% 的数据,1 ≤ n ≤ 15
- 对于 70% 的数据,1 ≤ n ≤ 50000
- 对于 100% 的数据,1 ≤ n ≤ 100000
样例输入 #1
3
样例输出 #1
22
样例输入 #2
4
样例输出 #2
71
知识点与难度
本题涉及的知识点从属于 GESP 6级,难度等级:⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 n≤15 |
| 2 | 15 | 9~11 | Hack: n=1 / n=2 / 大数取模 |
| 3 | 30 | 12~20 | 中大规模 |
| 4 | 25 | 21~25 | 随机回归 |