Advertisement
Acadaniket_1729

Untitled

May 16th, 2025
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1.  
  2. // https://www.geeksforgeeks.org/tiling-with-dominoes/
  3.  
  4. void solve()
  5. {
  6.     int n; cin >> n;
  7.     int dp[n][3];
  8.  
  9.     f(i, 0, n - 1) {
  10.         if(i == 0) {
  11.             dp[i][0] = 0;
  12.             dp[i][1] = 0;
  13.             dp[i][2] = 0;
  14.         }
  15.         else if(i == 1) {
  16.             dp[i][0] = 1;
  17.             dp[i][1] = 1;
  18.             dp[i][2] = 1;
  19.         }
  20.         else {
  21.             dp[i][0] = 3 * dp[i - 2][0] + dp[i - 2][2];
  22.             dp[i][1] = 3 * dp[i - 2][0] + dp[i - 2][2];
  23.             dp[i][2] = 2 * dp[i - 2][0] + dp[i - 2][2];
  24.         }
  25.     }
  26.     cout << dp[n - 1][0] + dp[n - 1][1] + dp[n - 1][2] << endl;
  27. }
  28.  
  29. int main()
  30. {
  31.     fastio();
  32.  
  33.     int _t; cin >> _t; while(_t--)
  34.     solve();
  35.     return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement