deushiro

MOS_G

Dec 17th, 2019
594
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. #include <algorithm>
  5. #include <queue>
  6. #include <map>
  7. #include <set>
  8.        
  9. using namespace std;
  10.  
  11. typedef long long ll;
  12.  
  13. const ll mod = 1e7;
  14.  
  15. int main() {
  16.     int n;
  17.     cin >> n;
  18.     vector<vector<ll>> dp(n, vector<ll> (9));
  19.     vector<vector<ll>> sum(n, vector<ll> (9));
  20.     for(int i = 0; i < min(n, 9); ++i){
  21.         dp[0][i] = 1;
  22.     }
  23.     sum[0][0] = 1;
  24.     for(int i = 1; i < 9; ++i){
  25.         sum[0][i] = sum[0][i - 1] + dp[0][i];
  26.     }
  27.     for(int i = 1; i < n; ++i){
  28.         if(i % 2 == 1){
  29.             dp[i][0] = 0;
  30.         }
  31.         else{
  32.             dp[i][0] = sum[i - 1][8];
  33.         }
  34.         for(int j = 1; j < min(n, 9); ++j){
  35.             if(i % 2 == 1){
  36.                 dp[i][j] = (sum[i - 1][j - 1]) % mod;
  37.             }
  38.             else{
  39.                 dp[i][j] = (sum[i - 1][8] - sum[i - 1][j]) % mod;
  40.             }
  41.         }
  42.         sum[i][0] = dp[i][0];
  43.  
  44.         for(int j = 1; j < 9; ++j){
  45.             sum[i][j] = (sum[i][j - 1] + dp[i][j]);
  46.         }
  47.     }
  48.  
  49.     cout << sum[n - 1][8] % mod << "\n";
  50. }
Advertisement
Add Comment
Please, Sign In to add comment