HDU-2044 小蜜蜂

落爺英雄遲暮 提交于 2019-12-07 17:47:56

一只小蜜蜂...

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 87182    Accepted Submission(s): 31152


Problem Description
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。


 

Input
输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。
 

Output
对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。
 

Sample Input
2 1 2 3 6
 

Sample Output
1 3
 这是一道典型的递推类型的题,规律为斐波那契数列。
#include<stdio.h>
int main(){
    int i,n,a,b;
    long long f[50];//后面的项太大,超出了int的范围(这是一个易错点)
    scanf("%d",&n);
    f[1]=1;f[2]=2;
    for(i=3;i<=48;i++)
        f[i]=f[i-1]+f[i-2];
    for(i=1;i<=n;i++){
        scanf("%d%d",&a,&b);
        printf("%I64d\n",f[b-a]);
    }
return 0;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!