HDU 2044 一只小蜜蜂(基础DP)
题目链接
HDU2044
题意
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。
解析
这个和爬楼梯是同一个东西,由于只能向右,所以实际上,输出值只取决于b-a的差值。
总的来讲,就是对于某个格子n(n>=2)来说,他的来源可能是n-1层,也可能是n-2层。
所以到达这一格子的方案数,会是f(n-1)+f(n-2),即n-1层与n-2层的方案数总和。其中f(0)为a所在位置,即最开始处。
于是我们初始化:
f(0) = 0;
f(1) = 1;
开始递推即可。
代码