题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2044
斐波那契数列,动态规划,打表
观察可知:要到达一个蜂房,如果这个蜂房在第一排,只能从它左边的蜂房或者左下方的蜂房过来;如果这个蜂房在第二排,只能从它左边的蜂房或者左上方的蜂房过来。
#include <iostream>
#define MAXN 52
using namespace std;
int main()
{
long long f[MAXN];
f[1] = 1; f[2] = 2;
for (int i = 3; i < MAXN; ++i) {
f[i] = f[i-1] + f[i-2];
}
int n, a, b;
cin >> n;
while (n--) {
cin >> a >> b;
cout << f[b-a] << endl;
}
return 0;
}