有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。
其中,蜂房的结构如下所示。
2 1 2 3 6
1 3
在第n格里蜜蜂可以爬到第n+1,n+2格子里,即f(n)=f(n-1)+f(n-2) 因此,这又是一个斐波那契数
#include<stdio.h> int main() { long long dp[51]; int a,b,z,i; scanf("%d",&z); dp[1]=1; dp[2]=2; for (i=3;i<=50;++i) { dp[i]=dp[i-2]+dp[i-1]; } while(z--) { scanf("%d%d",&a,&b); printf("%lld\n",dp[b-a]); } return 0; }