这题是动态规划的一道题目,我们可以知道,与蜂房n相连的是n-1和n-2
,那么我们走到n-1和n-2的方法数就是我们走到n的方法数了。
这些点还可以一般化,所以我们直接开一个long long类型的数组就可以了,way【n】就表示,走过的蜂房数目为n(包括起点和终点)的方法数就有way【n】种。
所以直接一般化往后推就行了,但是后面的会超出数据范围,所以要开成long long型。
#include <cstdio>
long long way[51] = {0};
int main()
{
way[2] = 1;
way[3] = 2;
for (int i = 4; i <= 50;i++)
way[i] = way[i - 1] + way[i - 2];
int n, e, s;
scanf("%d", &n);
while (n--) {
scanf("%d%d", &s, &e);
printf("%lld
", way[e - s + 1]);
}
return 0;
}