hdu2018

http://acm.hdu.edu.cn/showproblem.php?pid=2018

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<math.h>
 4 #include<string.h>
 5 #include<stdlib.h>
 6 using namespace std;
 7
 8 int main()
 9 {
10     int f[60];
11     memset(f,0,sizeof(f));
12     f[1]=1;f[2]=2;f[3]=3;f[4]=4;
13     for(int i=5;i<60;i++)
14     {
15         f[i]=f[i-1]+f[i-3];
16     }
17     int n;
18     while(cin>>n)
19     {
20         if(n==0)
21         break;
22         printf("%d\n",f[n]);
23     }
24     return 0;
25 }
时间: 2024-08-26 12:20:39

hdu2018的相关文章

hdu-2018题(母牛问题)

HDU-2018题/*有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述.n=0表示输入数据的结束,不做处理.Output对于每个测试实例,输出在第n年的时候母牛的数量.每个输出占一行.Sample Input2450*/ 1 #include<iostream> 2 using namespa

HDU2018 母牛的故事

问题链接:HDU2018 母牛的故事.入门训练题,用C语言编写程序. 菲波拉契数列是是十分有用的,可以用来描述动物的繁衍过程.本题就是其中一个例子. 这个问题可以得出以下的函数递推式: f(n)=n        n<=4 f(n)=f(n-1) + f(n-3) n>4 对于上述的递推函数,最简单的做法是编写一个递归的函数来实现.实际上,本题的递推函数是可以用一个递推过程的函数来实现的,即不需要用递归函数来实现.用递推函数效率(计算的时间更少,使用的空间更小)会更高. 不过,递归函数也是常用

HDU-2018 母牛的故事

http://acm.hdu.edu.cn/showproblem.php?pid=2018 母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 50087    Accepted Submission(s): 25017 Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每

HDU2018递推牛

母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 65857    Accepted Submission(s): 32748 Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试

母牛的故事(hdu2018)——笔记待完善

思考:这道题考验的是罗辑思维,这个网址http://blog.csdn.net/sxhelijian/article/details/42609353的罗辑思维值得学习 #include<stdio.h> int main() { int n; char d; int f1,f2,f3,fn; while(scanf("%d%c",&n,&d)!=EOF) { f1=1; f2=2; f3=3; if(n==0) break; if(n==1) printf

HDU--2018

母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 51707    Accepted Submission(s): 25922 Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测

hdu2018 dp

/* 1~4直接取得: 然后后面的生牛的时候都是前一年的加上一定的数. 从第5年看,第五年出生的牛肯定要加上第四年出生的,然后由于第一个出生的牛开始生小牛,这和 最开始的牛生孩子是一样的,所以+dp[i-3]; */ #include<stdio.h> #include<string.h> int dp[60]; int main() { int i,j,n; while(scanf("%d",&n)!=EOF) { if(!n)break; dp[1]

基础简单DP

状态比较容易表示,转移方程比较好想,问题比较基本常见   递推.背包.LIS(最长递增序列),LCS(最长公共子序列) HDU 2048 数塔 由上往下推 状态数太多(100!) 可以由下往上推: dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+dp[i][j]) 储存的话就直接一个二维数组a[110][110] HDU2018 母牛 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 斐

【杂题总汇】HDU多校赛第十场 Videos

[HDU2018多校赛第十场]Videos 最后一场比赛也结束了-- +HDU传送门+ ◇ 题目 <简要翻译> 有n个人以及m部电影,每个人都有一个快乐值.每场电影都有它的开始.结束时间和看了这部电影会得到的快乐值.电影分成两种类型,若同一个人连续(不是时间连续,是顺序连续)看了两部相同类型的电影,他的快乐值会扣除W,数据保证扣除的值不超过电影增加的快乐值. 特别的,一个人换电影不花费时间,即若第一部电影的结束时间等于下一部电影的开始时间,是可以两场都看的:看电影必须看完:一部电影只能一个人看