近期发现部分用户尝试利用判题系统的评测信息进行作弊,严重破坏了公平竞争的环境。为维护良好的交流与学习氛围,已对判题机进行了优化,当程序遇到测试点不通过时会立即返回而不评测更多测试点;并且延长提交间隔为60秒。作弊行为不仅违背了学习的初衷,还侵害了其他用户的公平权益,希望所有用户能够遵守规范,专注算法与思维能力的提升。对于恶意多次尝试的用户,我们将保留进一步处置的权利。 —— Administrator

100524 - 吃糖豆

时间限制

10 毫秒

内存限制

128 MB

通过次数

14

提交次数

46

n个糖豆,每次可以吃1个或2个,求吃完糖豆的方案数。1 1 2 和 1 2 1属于不同方案。

输入

一行,一个正整数表示n

对于100%的数据:

1\le n \le 50

输出

一行,一个正整数表示方案数。

样例

输入

4

输出

5

输入

5

输出

8

输入

8

输出

34

提示

这是一个非常典型的递推问题,可以从m=1,2推导到n-1,n也可以从n,n-1到2,1,缩小问题规模的做法可能更容易理解:

最后一次可以吃几个糖豆?

如果少吃1个糖豆,那么方案数与n为几时相同?

如果少吃2个糖豆呢?

如果用arr[n]表示吃n个糖豆的方案数,那么arr[1]、arr[2]的值是多少,如何计算arr[3]、arr[4]...arr[n]?