Advertisement
kolbka_

Untitled

Dec 4th, 2021
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <cassert>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <unordered_map>
  6. #include "optimization.h"
  7. #include <unordered_map>
  8. #define all(a) a.begin, a.end()
  9. using namespace std;
  10. vector<vector<int>> dp;
  11. int n,m;
  12. int calc(int j, int i){
  13. if (i < 1 || j < 1 || i > n || j > m){
  14. return 0;
  15. }
  16. if (i == 1 && j == 1){
  17. return 1;
  18. }
  19. if (dp[j][i] >= 0){
  20. return dp[j][i];
  21. }
  22. return dp[j][i] = calc(j-1, i-2) + calc(j+1, i-2) + calc(j+2, i-1) + calc( j-2, i-1);
  23. // + calc(i+2, j +1) + calc(i+2, j -1) + calc(i+1, j -2) + calc(i+2, j + 1);
  24. }
  25. int main(){
  26. cin >> n >> m;
  27. // n = readInt();
  28. // m = readInt();
  29. dp.resize(m+1, vector<int>(n+1, -1));
  30. int res = calc(m,n);
  31. // writeInt(res);
  32. cout << res;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement