#include <iostream> #include <vector> using namespace std; int An(int n){ if(n == 1)return 0; if(n == 2 && n == 3)return 1; vector<int> dp(n + 1); dp[1] = 0; dp[2] = 1; dp[3] = 1; for(int i = 4;i <= n; ++i){ dp[i] = dp[i - 3] + 2 * dp[i - 2] + dp[i - 1]; } return dp[n]; } int main() { int n; cin >> n; // 注意 while 处理多个 case cout << An(n) << endl; return 0; } // 64 位输出请用 printf("%lld")