hdu2044 一只小蜜蜂...

这里写图片描述
题意:蜜蜂从一个点出发,只能向右边移动,输入两个点,问两点之间到达,有几种不同的路线。
如图,每个数字向右走,相当于加一或者加二,就变成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]);
        }
    }
}

你可能感兴趣的:(hdu2044 一只小蜜蜂...)