题意:蜜蜂从一个点出发,只能向右边移动,输入两个点,问两点之间到达,有几种不同的路线。
如图,每个数字向右走,相当于加一或者加二,就变成hdu2041 超级楼梯。
和楼梯那题一样,斐波那契数列递推公式,注意开 long long 数组
#include<cstdio>
#include<cstring>
using namespace std;
long long f[55];
int main()
{
int T;scanf("%d",&T);
while(T--)
{
memset(f,0,sizeof(f));
int a,b;scanf("%d %d",&a,&b);
if(a+1==b) printf("1\n");
else if(a+2==b) printf("2\n");
else
{
f[a]=1,f[a+1]=1;
for(int i=a+2;i<=b;i++)
f[i]=f[i-1]+f[i-2];
printf("%lld\n",f[b]);
}
}
}