#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")