Advertisement
Guest User

Untitled

a guest
Jul 21st, 2020
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.  
  8.     int T;
  9.     cin >> T;
  10.     for (int t = 0; t < T; t++) {
  11.         long long n, l, r, mod;
  12.         cin >> n >> l >> r >> mod;
  13.  
  14.         vector < vector < long long > > dp(n + 1, vector < long long >(10, 0));
  15.  
  16.         if (n == 1) {
  17.             cout << 10 << "\n";
  18.             continue;
  19.         }
  20.  
  21.         for (int i = 1; i < 10; i++) {
  22.             dp[1][i] = 1;
  23.         }
  24.  
  25.         for (int i = 2; i <= n; i++) {
  26.             for (int j = 0; j < 10; j++) {
  27.  
  28.                 for (int x = 0; x < 10; x++) {
  29.                     if (abs(j - x) >= l && abs(j - x) <= r) {
  30.                         dp[i][j] += dp[i - 1][x];
  31.                         dp[i][j] %= mod;
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.  
  37.         long long ans = 0;
  38.         for (int i = 0; i <= 9; i++) {
  39.             ans += dp[n][i];
  40.             ans %= mod;
  41.         }
  42.         cout << ans << "\n";
  43.     }
  44.  
  45.    
  46.  
  47.  
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement