HDU 2044(递推&递归_A题)解题报告

Posted caomingpei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2044(递推&递归_A题)解题报告相关的知识,希望对你有一定的参考价值。

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044

------------------------------------------------------------------------------------

题意:只能爬向+1或者+2的房间,求第a个房间到第b个房间的路线多少。

思路:递归,爬向第k个房间只能从第k-1或者k-2个房间爬动,所以相加递归即可。

注意:

递归的题目一般要用数组存上所求的解,防止给出较大值时造成的TLE。

代码:

技术分享图片
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;

ll ans[55][55]={0};

ll f(int a,int b){
    if(b-a==1)     return 1;
    if(b-a==2)    return 2;
    else return ans[a][b-1]+ans[a][b-2];
}

int main(void){
    for(int i=1;i<55;i++){
        for(int j=i+1;j<55;j++){
            ans[i][j]=f(i,j);
        }
    }
    int T=0;
    scanf("%d",&T);
    for(int i=0;i<T;i++){
        int a,b;
        scanf("%d %d",&a,&b);
        printf("%lld\n",ans[a][b]);
    }

    return 0;

}
View Code

 


以上是关于HDU 2044(递推&递归_A题)解题报告的主要内容,如果未能解决你的问题,请参考以下文章

UVA 12627(递推&递归_H题)解题报告

UVA 12034(递推&递归_I题)解题报告

UVALive 7431(递推&递归_C题)解题报告

HDU 2044 一只小蜜蜂...(递推,Fibonacci)

HDU 2199 (二分&三分 _A题)解题报告

(递推)一只小蜜蜂... hdu2044