首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

acm杭电,该怎么处理

2013-08-13 
acm杭电有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能

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

用递归怎么做?
[解决办法]
http://baike.baidu.com/view/1712262.htm
[解决办法]

#include <iostream>
#include <memory.h>
#include <cstdio>
using namespace std;
const int maxn = 51;
long long fib[51];

void init(){
    fib[1] = 1;
    fib[2] = 2;
    for(int i = 3; i <= 50; ++i){
        fib[i] = fib[i -1] + fib[i - 2];
    }
}
int main(){
    int N;

    scanf("%d", &N);
    while(N--){
        int a, b;

        scanf("%d%d", &a, &b);
        printf("%I64d\n", dp[a][b]);
    }
    return 0;
}

[解决办法]
刚开始用了记忆化搜索试了下 发现结果就是斐波那契数列

热点排行