HDU - 2018 - 母牛的故事(dp)

题意:

如题

思路:

递推的思想,牛只能在第4年才能开始生小牛,对于

第n年有多少牛 = n-1年的牛数量 + 新出生的牛的数量

新出生的牛的数量 = 已经出生满4年的牛的数量 = n-3年时候牛的数量

代码:

#include<iostream>

using namespace std;

const int maxn = 70;
int a[maxn];

void init() {
    a[1] = 1;
    a[2] = 2;
    a[3] = 3;
    a[4] = 4;
    for (int i = 5; i <= maxn; i++) {
        a[i] = a[i - 1] + a[i - 3];
    }
}

int main() {
    init();
    int n;
    while (~scanf("%d", &n)) {
        if (n == 0) break;
        printf("%d\n", a[n]);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/somliy/p/9717910.html