您的位置:首页 > 其它

HDU 2018 母牛的故事

2015-04-19 07:32 197 查看
用递推的方式,把牛分成两种,找对应关系

今天突然发现原来这种题也是DP,以前总觉得是找规律什么的,一通乱搞

总结一下目前遇到的两道DP题,DP的递推按时间线和路径线,还有把结果进行分类,这些地方都挺重要的

#include<stdio.h>
int dp[60][2];//dp[i][0]:第i天大牛数   dp[i][1]:第i天小牛数
int main(){
int n;
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
dp[1][0]=1;dp[2][0]=1;dp[3][0]=1;dp[4][0]=1;
dp[1][1]=0;dp[2][1]=1;dp[3][1]=2;dp[4][1]=3;
for(int i=5;i<=55;i++){
dp[i][0]=dp[i-1][0]+dp[i-3][0];//小牛一长成大母牛就马上会生,即相当于过三年长大,第4年生
dp[i][1]=dp[i-1][1]+dp[i-1][0];
}
while(scanf("%d",&n),n){
printf("%d\n",dp
[0]+dp
[1]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: