题目链接:
HDU2018
AC代码:
题目思路:对于第N年, 母牛数量为 前一年的数量+前三年母牛的数量生的小牛 递推公式
dp[n]=dp[n-1]+dp[n-3];
AC代码:
/*
2017年9月17日11:07:14
HDU2018
AC
*/
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
const int maxn=60;
int dp[maxn];
void init(){
dp[1]=1;
for(int i=2;i<=maxn;i++){
if((i-3)<=0) dp[i]=dp[i-1]+1;
else dp[i]=dp[i-1]+dp[i-3];
}
}
int main(){
int n;
init();
while(~scanf("%d",&n)&&n){
printf("%d\n",dp[n]);
}
return 0;
}