关注
/*
阿里巴巴2018年秋季招聘研发工程师编程测试题
1. 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生下一对小兔,之后开始每年都会生下一对小兔。生下的小兔又会以同样的方式继续繁殖。
2. 兔子的寿命都是x(x>=3)年,并且生命的最后一年不繁殖。
3. 如果岛上的兔子多于10对,那么猎人会每年在兔子们完成繁殖或者仙逝之后,从岛上带走两对最老的兔子。
请问y年(y>=3)后荒岛上所有的兔子加起来多少岁?(注意, 在条件3执行完之后)
输入: 从命令行输入两行整数,第一行是x,第二行是y
输出: y年后荒岛上所有的兔子岁数的总和
*/
#include <iostream>
#include <algorithm>
#include <string>
#include<cmath>
#include<vector>
#include<map>
#include<cctype>
#include<queue>
#include<stack>
using namespace std;
void jian1(vector<int> &v, int x)
{
int new_count = 0;
int dead_count = 0;
for (int i = 0; i < v.size(); i++)
{
v[i]--;
if (v[i] == 0)
{
dead_count++;
continue;
}
if (x - v[i] >= 2)
{
new_count++;
}
}
v.assign(v.begin() + dead_count, v.end());
for (int i = 0; i < new_count; i++)
{
v.push_back(x);
}
if (v.size() > 10)
{
v.assign(v.begin() + 2, v.end());
}
}
int main()
{
//freopen("input.txt", "r", stdin);
int x, y;
while (cin >> x >> y)
{
vector<int> v;
v.push_back(x);
for (int i = 1; i <= y; i++)
jian1(v, x);
int result = 0;
for (int i = 0; i < v.size(); i++)
{
//cout <<x- v[i] << ' ';
result += (x - v[i]);
}
//cout << endl;
cout << result * 2 << endl;
}
}
查看原帖
点赞 评论
相关推荐
09-09 23:10
泰山学院 C++ 点赞 评论 收藏
分享
内向的柠檬精在研究求...:??????这是在玩呢?7面给挂了,非常逆天


点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招报数:你投了多少家公司? #
13141次浏览 123人参与
# 我的租房踩坑经历 #
165710次浏览 1118人参与
# 小红书校招直播来了 #
77037次浏览 456人参与
# 上班摸鱼,你都在干些什么? #
2479次浏览 58人参与
# 深信服求职进展汇总 #
220723次浏览 1748人参与
# 秋招的嫡长offer #
11663次浏览 125人参与
# 你面试被问到过哪些不会的问题? #
7217次浏览 323人参与
# 电网笔面经互助 #
44671次浏览 425人参与
# 考研对你找工作产生了哪些影响? #
39562次浏览 226人参与
# 为什么国企只招应届生 #
196370次浏览 1209人参与
# 职场破冰,你们都聊什么? #
987次浏览 24人参与
# 聊聊这家公司值得去吗 #
535620次浏览 3580人参与
# 为了求职,我做过的疯狂伪装 #
2316次浏览 39人参与
# 机械笔面试考察这些知识点 #
8690次浏览 89人参与
# 当你面对裁员会如何? #
303397次浏览 2559人参与
# 我的第一份实习怎么找的 #
152009次浏览 1465人参与
# 实习生应该准时下班吗 #
278400次浏览 1560人参与
# 你觉得早上几点上班合适? #
80511次浏览 327人参与
# 嵌入式岗知多少 #
52441次浏览 522人参与
# 实习要如何选择和准备? #
112701次浏览 1429人参与
# 秋招最大的收获是什么? #
42426次浏览 348人参与