题意:在一个二维平面上,可以选择向上还是向左或向右移动,移动到的地方下次会立即坍塌,不能移动到已经坍塌了的地方,问移动n步有几种不同的情况
链接:HDU 2563传送门
想法:因为移动到的地方下次会立即坍塌,也就是说如果想右移动的下次就不能向左移动了因已经坍塌。所以向左向右移动的下次只有两种移动的方向。向上移动的有三种方向可以移动。在第 n-1 次移动中有 f(n-2) 次是向上移动的,不是很好形容,自己画个图可以一目了然。递推公式为Count[i]=2*Count[i-1]+Count[i-2];
代码:
long long Count[25];
void init()
{
Count[1]=3;
Count[2]=7;
for(int i=3;i<21;i++)
Count[i]=2*Count[i-1]+Count[i-2];
}
心得:移动问题可以通过画图来找递推公式