Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <bitset>
  6. #include <queue>
  7. #include <iomanip>
  8. #include <vector>
  9. #include <sstream>
  10. #include <cstdio>
  11. #include <cstdlib>
  12. #include <limits>
  13. #define REP(i,n) for (long long i = 0; i < (long long)n; i++)
  14. using namespace std;
  15. typedef long long ll;
  16. const int MOD = 100000000;
  17.  
  18. ll f[102][102][12][2];
  19.  
  20. int main() {
  21.     #ifdef CONTEMPLATOR
  22.     ifstream cin("input.txt");
  23.     ofstream cout("output.txt");
  24.     #endif
  25.  
  26.     int n1,n2,k1,k2;
  27.     cin >> n1 >> n2 >> k1 >> k2;
  28.     f[0][0][0][0] = 1;
  29.     for (int i = 0; i < 101; i++)
  30.         for (int j = 0; j < 101; j++)
  31.             for (int k = 0; k < 11; k++) {
  32.                 if (f[i][j][k][0] > 0) {
  33.                     if (k < k1) {
  34.                         f[i+1][j][k+1][0] = (f[i+1][j][k+1][0] + f[i][j][k][0]) % MOD;
  35.                     }
  36.                     f[i][j+1][1][1] = (f[i][j+1][1][1] + f[i][j][k][0]) % MOD;
  37.                 }
  38.                 if (f[i][j][k][1] > 0) {
  39.                     if (k < k2) {
  40.                         f[i][j+1][k+1][1] = (f[i][j+1][k+1][1] + f[i][j][k][1]) % MOD;
  41.                     }
  42.                     f[i+1][j][1][0] = (f[i+1][j][1][0] + f[i][j][k][1]) % MOD;
  43.                 }
  44.             }
  45.     ll ans = 0;
  46.     for (int i = 0; i <= k1; i++)
  47.         ans = (ans + f[n1][n2][i][0]) % MOD;
  48.     for (int i = 0; i <= k2; i++)
  49.         ans = (ans + f[n1][n2][i][1]) % MOD;
  50.     cout << ans << endl;
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement