题目:
1. 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生下一对小兔,之后开始每年都会生下一对小兔。生下的小兔又会以同样的方式继续繁殖。
2. 兔子的寿命都是x(x>=3)年,并且生命的最后一年不繁殖。
3. 如果岛上的兔子多于10对,那么猎人会每年在兔子们完成繁殖或者仙逝之后,从岛上带走两对最老的兔子。
请问y年(y>=3)后荒岛上所有的兔子加起来多少岁?(注意, 在条件3执行完之后)

输入: 从命令行输入两行整数,第一行是x,第二行是y
输出: y年后荒岛上所有的兔子岁数的总和

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;  struct Rabbit
{  int age;  int maxAge;
};  void Age(vector<Rabbit> &res) {  for (vector<Rabbit>::iterator it = res.begin(); it != res.end(); it++) {  it->age++;  }
}  void Dead(vector<Rabbit> &res) {  for (vector<Rabbit>::iterator it = res.begin(); it != res.end();) {  if (it->age >= it->maxAge)  it = res.erase(it);  else  it++;  }
}  void Broth(vector<Rabbit> &res, int x) {  vector<Rabbit>Tmp;  for (vector<Rabbit>::iterator it = res.begin(); it != res.end(); it++) {  if (it->age >= 2 && it->age < it->maxAge)  {  Rabbit tmp = { 0,x };  Tmp.push_back(tmp);  }  }  for (auto x : Tmp)  res.push_back(x);
}  int main()
{  int x, y;  cin >> x >> y;  Rabbit R = { 0,x };  vector<Rabbit> res;  res.push_back(R);  for (int i = 1; i <= y; i++) {  Age(res);  Dead(res);  Broth(res,x);  if (res.size() > 10) {  res.erase(res.begin());  res.erase(res.begin());  }  }  int num = 0;  for (auto x : res)  num += x.age;  cout << num * 2 << endl;
}

2017阿里巴巴在线测试题相关推荐

  1. 2017阿里巴巴实习生笔试题之扑克牌问题

    晚上刚参加2017阿里巴巴实习生的笔试,笔试分为两个部分,第一部分是选择题,第二部分是在线编程题.一做选择题感觉就被放了一个大招,自己则是一脸懵懵的状态:数据库,概率,排列组合,C++,Java,数据 ...

  2. 【预告:直播回顾资料下载】2017阿里巴巴双11技术十二讲,历数双11精彩技术干货

    点击有惊喜 历届双11,阿里以其前瞻性的视角和创新技术一直致力于为大众递交诚意满满的答卷,大浪淘沙后最终沉淀下来的都是技术的烁金.叹为观止的数字中流转着这样的人.故事和技术,想要详细了解2017阿里双 ...

  3. 计算机二级测试试题及答案,2017计算机二级测试题及答案解释

    2017计算机二级测试题及答案解释 5.在数据流图中,带有箭头的`线段表示的是( ). A.控制流 B.数据流 C.模块调用 D.事件驱动 [答案]:B 数据流图中带箭头的线段表示数据流,沿箭头方向传 ...

  4. 腾讯云运维工程师认证(TCA)在线测试题

    腾讯云运维工程师认证(TCA)在线测试题 54.(2.0分)腾迅云数据库MySQL在购买式列时可以指定数据复制方式.腾迅云数据库MySQL支持三种数据复制方式,下列选项中属于这三种复制方式的是哪项? ...

  5. 【算法】创新工场涂鸦移动2017校园招聘测试题-A卷-软件工程师

    今天做了创新工场涂鸦移动2017校园招聘测试题-A卷-软件工程师的题目,我也不知道这算不算是泄题,再说也不见得我写的算法就是对的.贴出来,希望大家相互学习,相互进步,如有违反XX,不胜荣幸. 链表 1 ...

  6. C语言学堂在线测试题防丢失汇总

    C语言学堂在线测试题(自己写基础题的时候整理的部分知识点,文档word链接在这边文档链接) 链接:https://pan.baidu.com/s/1SUjKPEMbIVl98O0a94JjZw 提取码 ...

  7. 计算机实训安全考试答案,(实验室安全在线测试题答案.doc

    (实验室安全在线测试题答案 判断题(实验室) 103001. 学生初次进入实验室应了解实验室具体的潜在危险,认真阅读.理解安全手册和操作手册,接受安全教育或培训,并通过考核. 正确 103002. 实 ...

  8. 2017阿里巴巴技术论坛,本周起将席卷全球四大顶级名校!

    9月15日起,2017阿里巴巴技术论坛(Alibaba Technology Forum,简称ATF)将在香港科技大学.新加坡国立大学.卡内基·梅隆大学.斯坦福大学等四所全球顶级名校陆续举办.今年AT ...

  9. QuestMobile:2017年在线音乐应用行业洞察报告

    摘要:版权大战结束之后,结局大概也不用多想了--唉,具体的,各位不妨看报告吧. 这个领域与生鲜电商.视频一样历史悠久.现在,好消息是总体MAU大概稳定在5-6亿(基本到天花板了),坏消息是:top10 ...

  10. 2017计算机在线作业二,《计算机应用基础》2017年秋学期在线作业(二)满分答案...

    <计算机应用基础>2017年秋学期在线作业(二) 试卷总分:100 得分:100 一.单选题 1.在Word的编辑状态,设置了一个由多个行和列组成的空表格,将插入点定在某个单元格内,右击该 ...

最新文章

  1. 从「林」开始: imx51-linux-rt3070ap-dhcpd
  2. 深入理解Fabric环境搭建的详细过程
  3. 客户机操作系统已禁用 cpu。请关闭或重置虚拟机。_黑科技教学丨Win10竟然内置了一台虚拟机?教你如何玩转它...
  4. 分分钟学会系列:mac地址泛洪攻击实验
  5. ElasticSearch - term 和 match 的差别
  6. LINUX下载编译FreeType
  7. 袁承兴:Rust异步编程 Pinning
  8. 关于python语句与列表,元组,字典等集合的题
  9. arm-linux内存页表创建
  10. 在Docker安装Calibre-web搭建网上书城
  11. 英伟达显卡笔记本如何免费获得2k甚至4k屏幕
  12. USB SS-PHY Tuning
  13. 笔记本电脑常识:噪音
  14. 回溯算法 允许重复选择元素的组合
  15. tensorflow RNN实例
  16. springboot Possibly consider using a shorter maxLifetime value.
  17. centos7.4安装MySQL
  18. 基于51单片机点阵汉字显示程序设计
  19. CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
  20. J2EE是什么,主要包括哪些技术【转】

热门文章

  1. 嵌入式Linux项目开发的几个步骤
  2. bulk interface驱动_USB驱动程序(较详细)三
  3. 程序员的五种不同寻常的特质
  4. 中兴ZXV10 B860AV1.1 全TTL操作完美破解
  5. 车辆路径问题与相关算法总结
  6. meterpreter里面cmd乱码解决方法chcp 65001
  7. android 项目交接文档,产品交付规范文档
  8. AlphaGo算法框架解读
  9. 实验室信息化建设助力医药研发
  10. Protel转PADS