zoukankan      html  css  js  c++  java
  • HDU_oj_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
     
    分析:
    又是一个典型的递归问题
    爬到第n个房间可以从正左边的那个房间爬过来,也可以从左侧方那个房间爬过来
    即:F(n)=F(n-1)+F(n-2)
    而由于这个爬法是规则的,起始点的位置并不重要
    相似题链接:http://www.cnblogs.com/tenjl-exv/p/8016575.html(HDU_oj_2041 超级楼梯)
    注意点:
    切记,数据会溢出
    用64bit储存
     
     1 //递归解法,但不是递归写法
     2 //递归写起来可能会超时
     3 #include<iostream>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n,x,y;
     9     long long fx,fy,cnt;
    10     cin>>n;
    11     cnt=0;fx=1;fy=2;
    12     while(n--)
    13     {
    14         cin>>x>>y;
    15         cnt=0;fx=1;fy=2;
    16         for(int i=3;i<=(y-x);i++)
    17         {
    18             cnt=fx+fy;
    19             fx=fy;
    20             fy=cnt;
    21         }
    22         if((y-x)==1)
    23         cout<<fx;
    24         else if((y-x)==2)
    25         cout<<fy;
    26         else
    27         cout<<cnt;
    28         cout<<endl;
    29     }
    30     return 0;
    31 }
     
  • 相关阅读:
    es6 类
    set/ weakset/ map/ weakmap
    async/await
    生成函数
    数组的操作
    解决异步(重点promise函数)
    迭代器
    遍历
    symbol 数据类型
    es6.代理 proxy
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/8016675.html
Copyright © 2011-2022 走看看