#iai18b1. 火柴数字

火柴数字

火柴数字

题目描述

使用火柴表示 0099 的方法如下:

数字 0 1 2 3 4 5 6 7 8 9
火柴数 6 2 5 4 5 6 3 7 6

给定一个整数 nn,恰好用完 nn 根火柴可以组成多少个不同的正整数?

注意正整数的首位不能为 00。输出方案数模 1,000,000,0071{,}000{,}000{,}007 的余数。

输入格式

单个整数:表示 nn

输出格式

单个整数:表示方案数模 1,000,000,0071{,}000{,}000{,}007 的余数。

数据范围

对于 30% 的数据,1n201 \le n \le 20; 对于 60% 的数据,1n20001 \le n \le 2000; 对于 100% 的数据,1n2,000,0001 \le n \le 2{,}000{,}000

样例输入 #1

4

样例输出 #1

2

说明:四根火柴可以表示 1111 或者 44,所以有两种。

样例输入 #2

6

样例输出 #2

6

说明:可行的方案是 111,14,41,6,9,7111, 14, 41, 6, 9, 7

知识点与难度

本题涉及的知识点从属于 GESP六级(动态规划、完全背包),难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模
2 15 9~11 Hack
3 30 12~20 中大规模
4 25 21~25 随机回归