Advertisement
Dmaxiya

积木画 参考代码

Apr 4th, 2025
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. const int MOD = 1000000007;
  6. const int maxn = 10000000 + 100;
  7. int n;
  8. int dp[maxn][3];
  9.  
  10. int add(int a, int b) {
  11.     a += b;
  12.     if (a >= MOD) {
  13.         return a - MOD;
  14.     }
  15.     return a;
  16. }
  17.  
  18. int main() {
  19. #ifdef ExRoc
  20.     freopen("test.txt", "r", stdin);
  21. #endif  // ExRoc
  22.     ios::sync_with_stdio(false);
  23.  
  24.     cin >> n;
  25.     dp[1][0] = 1;
  26.     dp[2][0] = 2;
  27.     dp[2][1] = 1;
  28.     dp[2][2] = 1;
  29.     for (int i = 3; i <= n; ++i) {
  30.         dp[i][0] = add(add(dp[i - 1][0], dp[i - 2][0]), add(dp[i - 1][1], dp[i - 1][2]));
  31.         dp[i][1] = add(dp[i - 1][2], dp[i - 2][0]);
  32.         dp[i][2] = add(dp[i - 1][1], dp[i - 2][0]);
  33.     }
  34.     cout << dp[n][0] << endl;
  35.  
  36.     return 0;
  37. }
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement