这是一个比较简单的递归问题,不难发现蜜蜂从1->1的路线为1条,从1->2的路线为2条,到3为3条
到4位5条,便有一个公式:a[i]=a[i-1]+a[i-2] (i>2);
值得注意的是当从1到47左右的生活 单int型会数据溢出;
改为长整形就OK了,代码如下:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int N,a,b;
long long int ci[55]={1,1};
scanf("%d",&N);
for(int i=2;i<50;i++)
ci[i]=ci[i-1]+ci[i-2];
while(N--)
{
scanf("%d %d",&a,&b);
printf("%lld\n",ci[b-a]);
}
return 0;
}