Advertisement
YEZAELP

E. Tetrahedron

Oct 3rd, 2021
713
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. using lli = long long;
  5. const lli N = 1e9 + 7;
  6. lli A[2], B[2], C[2], D[2];
  7.  
  8. int main(){
  9.  
  10.     int n;
  11.     scanf("%d", &n);
  12.  
  13.     D[1] = 1;
  14.     A[1] = B[1] = C[1] = 0;
  15.  
  16.     for(int i=2;i<=n+1;i++){
  17.         int cur = i % 2;
  18.         int pre = (i - 1) % 2;
  19.         A[cur] = (B[pre] + C[pre] + D[pre]) % N;
  20.         B[cur] = (A[pre] + C[pre] + D[pre]) % N;
  21.         C[cur] = (A[pre] + B[pre] + D[pre]) % N;
  22.         D[cur] = (A[pre] + B[pre] + C[pre]) % N;
  23.         A[pre] = B[pre] = C[pre] = D[pre] = 0;
  24.     }
  25.  
  26.     printf("%lld", D[(n + 1) % 2]);
  27.  
  28.     return 0;
  29. }
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement