Advertisement
What_Ever

Untitled

Feb 29th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define sz(a) int((a).size())
  3. #define pb push_back
  4. #define all(c) begin(c),end(c)
  5. #define cpresent(c,x) (find(all(c),x) != (c).end())
  6. #define rep(i,a,b) for(int (i) = (a) ; (i) < (b) ;(i)++)
  7. #define INF 2000000007
  8. #define LINF 9000000000000000007
  9. #define MOD 100000000
  10. using namespace std;
  11. typedef vector<int> vi;
  12. typedef vector<vi> vvi;
  13. typedef pair<int,int> ii;
  14. typedef long long ll;
  15. int n1,n2,k1,k2;
  16. ll dp[101][101][10][10];
  17. bool calc[101][101][10][10];
  18. ll solve(int sz1 , int sz2 , int s1 , int s2)
  19. {
  20.     if(s1 > k1 || s2 > k2 || sz1 > n1 || sz2 > n2)return 0;
  21.     if( (sz1 + sz2) && (n1 + n2) )return 1;
  22.     if(calc[sz1][sz2][s1][s2])return dp[sz1][sz2][s1][s2];
  23.     calc[sz1][sz2][s1][s2] = true;
  24.     dp[sz1][sz2][s1][s2] = (solve(sz1+1,sz2,s1+1,0) + solve(sz1,sz2+1,0,s2+1))%MOD;
  25.     return dp[sz1][sz2][s1][s2];
  26. }
  27. int main()
  28. {
  29.     cin >> n1 >> n2 >> k1 >> k2;
  30.     ll res = solve(0,0,0,0);
  31.     cout << res;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement