- #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 R1 = { 0,x };
- Rabbit R2 = { 0,x };
- vector<Rabbit> res;
- res.push_back(R1);
- res.push_back(R2);
- for (int i = 1; i <= y; i++) {
- Age(res);
- Dead(res);
- Broth(res,x);
- if (res.size() > 20) {
- res.erase(res.begin());
- res.erase(res.begin());
- res.erase(res.begin());
- res.erase(res.begin());
- }
- }
- int num = 0;
- for (auto x : res)
- num += x.age;
- cout << num << endl;
- }
rabbit
最新推荐文章于 2022-11-05 17:04:16 发布