#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
vector<int> v;
for (int i = 0; i <= 4; ++i)
v.push_back(i);
if (n == 0)
break;
if (n <= 4)
cout << v[n] << endl;
if (n > 4)
{
for (int i = 5; i <= n; ++i)
{
int m = v[i - 1] + v[i - 3];//每只牛第四年开始生,所以如果一头牛三年前就存在(在三年前出生或者更早出生的),三年前就存在的牛今年一定会生小牛,所以v[i]=v[i-1]+v[i-3],其中v[i-1]是去年留下的,v[i-3]是今年新生的
v.push_back(m);
}
cout << v[n] << endl;
}
}
return 0;
}
这题用数组方便点,但是在学c++就尽可能地练习vector了
2018 母牛的故事
最新推荐文章于 2022-08-19 16:00:16 发布