• HDU dp递推 母牛的故事 *


    母牛的故事

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 84550    Accepted Submission(s): 42057


    Problem Description
    有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
     
    Input
    输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
    n=0表示输入数据的结束,不做处理。
     
    Output
    对于每个测试实例,输出在第n年的时候母牛的数量。
    每个输出占一行。
     
    Sample Input
    2
    4
    5
    0
     
    Sample Output
    2
    4
    6
     

    规律是:这一年牛的头数是等于上一年的牛的头数加可以生育的牛的头数,之所以减三是因为每过三年就有新的一批小牛会生育

     注意这种周期性的题目都是类似的解法
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    #define maxn 121
    int max(int a,int b){
        if(a>=b)
            return a;
        return b;
    }
    int main()
    {
        int n,dp[maxn];
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 3;
        dp[4] = 4;
        for(int i=5;i<=56;i++){
            dp[i] = dp[i-1] + dp[i-3];
      }
    while(cin >> n){ if(n == 0){ break; } cout << dp[n] << endl; } return 0; }

    转载于:https://www.cnblogs.com/l609929321/p/7218176.html

  • 相关阅读:

    模块
    序列化模块
    time模块、os模块、sys模块
    re模块、collections模块、random模块
    正则表达式
    递归函数和二分查找
    匿名函数
    推推导式和内置函数
    Java引用类型与值类型——Java面向对象基础(7)
  • 原文地址:https://www.cnblogs.com/twodog/p/12139873.html
Copyright © 2020-2023  润新知