杭电OJ2018
2016-10-23 15:18
323 查看
#include <iostream> using namespace std; int main(){//有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛 int n; int m , c[4];//m代表可以生小母牛的母牛,c[1]代表刚生出的小牛,c[2]代表经过一年的小牛,以此类推,分开讨论 int temp; while(cin >> n){//第n年的时候只算了前面n-1年的情况 if(n == 0){ break; } else{ m = 1; c[1] = c[2] = c[3]= 0; for(int i = 1 ; i <= n - 1 ; i ++){ /*if(i < 4){ 只是这种情况不能判断出,新生出来的小母牛也会再等4年,最好的方法就是将不可以生产的小母牛也分为年龄为几年的 c++; }*/ m = m + c[3];//上一年三岁的小牛在该年已经4岁了,可以生小牛了!!! 所以有下面的c[1]=m c[3] = c[2]; c[2] = c[1]; c[1] =m;//所以c[1]=m } cout << m + c[1] + c[2] + c[3] << endl; } } } /*本题关键就是分开讨论,最开始只想到分为四年以上的母牛,但发现心生出来的小母牛也会再等4年 *所以用了数组将四岁以下的小木年统计一下 */
相关文章推荐
- 2017-12-16杭电OJ2018 《母牛的故事》——这道题用了递归
- 杭电oj 2018 母牛的故事
- 【杭电oj】2018-母牛的故事(递归)
- 杭电oj2018 c++
- 杭电oj 2018 母牛的故事
- 杭电Oj2015-2018(Java版)
- hdu2018&杭电oj_2018(递归)
- 杭电OJ 2018 母牛的故事
- 杭电oj编码2018
- 杭电OJ2018-母牛的故事
- 【杭电-oj】-2018-母牛的故事
- 【杭电oj2018】母牛的故事
- 【杭电oj】2066 - 一个人的旅行(迪杰斯塔拉,优先队列优化)
- 杭电oj题目分类
- Text Reverse(杭电oj1062)
- 杭电OJ----1000之A+B
- 杭电OJ 青年歌手大奖赛_评委会打分
- 杭电OJ BestCoder28期1001Missing number问题(小技巧偏移法)
- 杭电OJ 1003 最大子序列(分治法)Max Sum
- 今日刷水题--杭电OJ之2030,汉字统计