今天刚考完试,和杨曙光玩了RPG,实在不想看题了

/***************************************************/

母牛的故事

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

Problem Description
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
 
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
 
Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
 
Sample Input
2
4
5
0
 
Sample Output
2
4
6
 
Author
lcy
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  2050 1297 2190 2049 2501
 
一次a的不过用的方法很麻烦,我是分成大,小3,小2,小1,3种母牛。大,小3,小2,小1看成一组,叫4小组,大,小2,小1看成一种组,叫3小组,大,小1叫2小组,然后各用一个数组。通过上一年与下一年的关系推出最后的结果。最后我都用c数组表示了,a,b数组消掉了。
 #include<math.h>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std; __int64 c[];
int n;
int main()
{
c[]=c[]=c[]=;
c[]=;c[]=;c[]=;c[]=;c[]=;
for(int i=;i<;i++)
{
c[i]=c[i-]+c[i-];
}
n=;
while(n<)
{
if(n==){cout<<<<endl;n++;continue;}
if(n==){cout<<<<endl;n++;continue;}
if(n==){cout<<<<endl;n++;continue;}
// printf("%d\n",c[n]);
printf("%d\n",*c[n]+*c[n-2]+*c[n-]);
n++;
}
return ;
}
 在网上看了别人的代码,两种方法都比我的简单,
 #include<math.h>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std; __int64 c[];
int n;
int main()
{
c[]=,c[]=,c[]=,c[]=;
for(int i=;i<;i++)
{
c[i]=c[i-]+c[i-];
}
while(~scanf("%d",&n),n)
{
printf("%d\n",c[n]);
}
return ;
}
 #include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n==)break;
int a,b,c,d; //分别代表一岁二岁三岁四岁及其以上的母牛的数目。
if(n<=)cout<<n<<endl; //*若n<=4,很容易得出总数为n
else{
n=n-;
a=b=c=d=;
for(int i=;i<n;i++)
{
d=c+d;//*当年大母牛数目d为前一年c和d的总和
c=b;//*b母牛长了一岁到了c
b=a;//*同上
a=d;//*长成的母牛和原本的母牛共生出新的小母牛a个
}
cout<<a+b+c+d<<endl;
}
}
}

HDU 2018 母牛的故事 [补]的更多相关文章

  1. HDU 2018母牛的故事(类似斐波那契,找规律)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2018 母牛的故事 Time Limit: 2000/1000 MS (Java/Others)     ...

  2. hdu 2018 母牛的故事(简单dp)

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. hdu 2018 母牛的故事 动态规划入门题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 设 f[i][j] 表示第i天年龄为j的母牛个数,其中j=4代表所有年龄达到4岁的成年母牛,则: ...

  4. HDU 2018 母牛的故事 (递归入门)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 思路分析: 问题分析:这道题的递推关系非常类似斐波那契数列,由题意不难得到以下函数递推式: 对于 ...

  5. hdu 2018 母牛的故事

    #include<stdio.h> int main(void) { int i,n,j,k; long long narr[60]; narr[1]=1; narr[2]=2; narr ...

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

    题意: 如题 思路: 递推的思想,牛只能在第4年才能开始生小牛,对于 第n年有多少牛 = n-1年的牛数量 + 新出生的牛的数量 新出生的牛的数量 = 已经出生满4年的牛的数量 = n-3年时候牛的数 ...

  7. ACM YTU 2018 母牛的故事

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. HDOJ 2018 母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  9. Hdoj 2018.母牛的故事 题解

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

随机推荐

  1. Java总结输入流输出流

    学习Java的同学注意了!!!  学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群:618528494  我们一起学Java! 1.什么是IO Java中I/O操作主要是指使用 ...

  2. oracle客户端安装与配置

    在进行开发时经常需要连接Oracle数据库,一般的场景是Oracle数据库在远程服务器上,本地计算机通过plsql developer来访问. 这就要求在本地安装好plsql developer,但是 ...

  3. BZOJ 2244 [SDOI2011]拦截导弹 ——CDQ分治

    三维偏序,直接CDQ硬上. 正反两次CDQ统计结尾的方案数,最后统计即可. #include <cstdio> #include <cstring> #include < ...

  4. PHP文件上传设置和处理(多文件)

    <!--upload.php文件内容--><?phpheader("Content-Type:text/html;charset=utf-8");/* //原来$ ...

  5. Mountaineers

    Mountaineers 时间限制: 3 Sec  内存限制: 128 MB 题目描述 The Chilean Andes have become increasingly popular as a ...

  6. LA 2218 半平面交

     题目大意:n名选手参加铁人三项赛,比赛按照选手在三个赛段中所用的总时间排定名次.已知每名选手在三个项目中的速度Ui.Vi.Wi.问对于选手i,能否通过适当的安排三个赛段的长度(但每个赛段的长度都不能 ...

  7. mode(BZOJ 2456)

    Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n.第2行n个正整数用空格隔开. Output 一行一个正整数表 ...

  8. SQLite数据库相关操作

    一.创建数据库 这里创建了note便签数据表,字段有noteId.noteTitle.noteTime.noteInfo );  // TODO Auto-generated constructor ...

  9. msp430项目编程41

    msp430综合项目---红外遥控直流电机调速系统41

  10. 487. Max Consecutive Ones II

    Given a binary array, find the maximum number of consecutive 1s in this array if you can flip at mos ...