hdu 2044 一只小蜜蜂

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 110;
int n;
struct bignum{
    int num[203];
    bignum(){
        memset(num, 0, sizeof(num));
        num[0] = 1;
    }
    void show(){
        for(int i = num[0]; i >= 1; --i)
            putchar(num[i] + 48);
    }
    bignum operator + (bignum b){
        bignum c;
        c.num[0] = max(num[0], b.num[0]) + 1;
        for(int i = 1; i <= c.num[0]; ++i){
            c.num[i] += num[i] + b.num[i];
            c.num[i + 1] += c.num[i] / 10;
            c.num[i] %= 10;
        }
        if(!c.num[c.num[0]])    c.num[0]--;
        return c;
    }
};
bignum dp[maxn];
int main(void){
    dp[1].num[1] = dp[2].num[1] = 1;
    for(int i = 3; i <= 60; ++i)
        dp[i] = dp[i - 1] + dp[i - 2];
    scanf("%d", &n);
    while(n--){
        int a, b;
        scanf("%d%d", &a, &b);
        dp[b - a + 1].show();
        putchar('\n');
    }
}

猜你喜欢

转载自www.cnblogs.com/junk-yao-blog/p/9509316.html