#include <iostream>//---------------模拟、动态规划
#include <array>
using namespace std;
array<array<int, 3>, 33> a{0};//------a【i】【j】表示第i个月,j+1个月大的兔子的数量
int main() {
a[1][0] = 1;
int n;
cin >> n;
for(int i = 1; i <= n; i++){//-------状态转移方程
a[i + 1][2] = a[i][2] + a[i][1];
a[i + 1][1] = a[i][0];
a[i + 1][0] = a[i][2] + a[i][1];
}
cout << a[n][2] + a[n][1] + a[n][0];
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号