//
//一只奶牛在生下来时是第一年,在第三年之后每一年会生一
//只奶牛,在第六年的时候会死去(不会生奶牛),在第一
//年你有一只第一年的奶牛,求问第n年你有几只奶牛。
#include<iostream>
#include<list>
#include<string>
#include<sstream>
using namespace std;
class cow
{
public:
int age;
string name;
cow()
{
age = 1;
name = "year1_1";
}
//根据所生年份及顺序确定名称
void setName(string _name)
{
name = _name;
}
//判别是否为同一头奶牛
bool operator==(cow _cow)
{
if (this->name == _cow.name)
{
return true;
}
return false;
}
};
//更新当前年份的奶牛的数量
void updateCowList(list<cow>&cowList, list<cow>&addCowList, list<cow>&delCowList)
{
for (auto &_cow : delCowList)
{
cowList.remove(_cow); //通过奶牛的name判别是否为同一头奶牛
}
//将新生的奶牛插入到末尾
cowList.insert(cowList.end(), addCowList.begin(), addCowList.end());
}
int main()
{
int n;
//输入需要计算的年份
cout << "input n:";
cin >> n;//years;