zoukankan      html  css  js  c++  java
  • ACM HDU 2044 一只小蜜蜂

    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

    ——————————

    题目属于递推求解

    首先递归的思想

    a—>b   

    =  a—>b-1  +a—>b-2     

    =  a—>b-1-1 +  a—>b-1-2  + a—>b-2-1  +  b-2-2

    ……

    最终是到a—>a+1  和a—>a+2

    然后就是转化成递推了

    由于a,b取值均在(1,50)之间,所以中间数据可以用一个含有50个元素的数组表示

    a[50];

    a[0] = 1;  a[1] = 2;  a[i] = a[i-1] +a[i-1]

    注意最后时数据是很大的,超出 int 的取值范围,所以用 __int64 表示


    代码:

    #include <iostream>
    using namespace std;
    int main()
    {
        int num;
        __int64 a[55] = {0};
        while(cin>>num&&num--)
        {
            int m,n;
            while(cin>>m>>n)
            {
                a[0]=1;
                a[1]=2;
                for(int i=2;i<50;i++)
                {
                    a[i]=a[i-1]+a[i-2];
                }
                cout<<a[n-m-1]<<endl;
            }
        }
        return 0;
    }


  • 相关阅读:
    react引用antd的form表单
    前端学习之--谷歌浏览器使用
    react引用ant的table组件
    git 提交解决冲突
    git将本地仓库推送到远程仓库
    操作DOM
    javaScript基础篇之数据类型
    css之水平居中设置
    css之颜色值、单位
    CSS属性简写
  • 原文地址:https://www.cnblogs.com/gray1566/p/3704306.html
Copyright © 2011-2022 走看看