zoukankan      html  css  js  c++  java
  • HDU 2044 一只小蜜蜂(递归)

                                     一只小蜜蜂...

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


    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
    【分析】:
    1)每到一个点的路径数肯定等于它左边左下方(左上方)路径之和
    2)设从a走到b之间一共走n步,则有:
                      dp[n]   =dp[n-1]+dp[n-2];
                      dp[n-1]=dp[n-2]+dp[n-3];
                      dp[n-2]=dp[n-3]+dp[n-4];
                                   ......
    不就是斐波那契数列么?
    #include <iostream>
    #include <cstdio>
    #include <cmath> 
    using namespace std;
    long long a[55];
    int T,n,m;
    int main()
    {    
        a[0]=0;
        a[1]=1;
        a[2]=2;
        for (int i=3; i<=50; i++)
        {
            a[i]=a[i-1]+a[i-2];
        }
        cin >> T;
        while (T--)
        {
            cin >> n >> m;
            cout << a[m-n] << endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    oracle ash性能报告的使用方法
    Top 5 Timed Events[转]
    通过top 5等待事件查看sql语句
    oracle中关于删除表purge语句和闪回语句的基本使用
    oracle表类似:BIN$dJ5h8mA4Lr/gQAB/AQB0oA==$0 TABLE
    Oracle 10G 中的"回收站"
    oracle ash性能报告的使用方法
    分析AWR报告
    global cache cr request
    ORACLE创建OEM是老爱报的错误【weber出品】
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7244620.html
Copyright © 2011-2022 走看看