Advertisement
ke_timofeeva7

дп шоколадки

Nov 6th, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. /*
  2. ⠸⣷⣦⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⠀⠀⠀
  3. ⠀⠙⣿⡄⠈⠑⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠔⠊⠉⣿⡿⠁⠀⠀⠀
  4. ⠀⠀⠈⠣⡀⠀⠀⠑⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠁⠀⠀⣰⠟⠀⠀⠀⣀⣀
  5. ⠀⠀⠀⠀⠈⠢⣄⠀⡈⠒⠊⠉⠁⠀⠈⠉⠑⠚⠀⠀⣀⠔⢊⣠⠤⠒⠊⠉⡜
  6. ⠀⠀⠀⠀⠀⠀⠀⡽⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⡔⠊⠁⠀⠀⠀⠀⠀ ⠀⠇
  7. ⠀⠀⠀⠀⠀⠀⠀⡇⢠⡤⢄⠀⠀⠀⠀⠀⡠⢤⣄⠀⡇⠀⠀⠀⠀⠀⠀⠀ ⢰⠀
  8. ⠀⠀⠀⠀⠀⠀⢀⠇⠹⠿⠟⠀⠀⠤⠀⠀⠻⠿⠟⠀⣇⠀⠀⡀⠠⠄⠒⠊⠁⠀
  9. ⠀⠀⠀⠀⠀⠀⢸⣿⣿⡆⠀⠰⠤⠖⠦⠴⠀⢀⣶⣿⣿⠀⠙⢄⠀⠀⠀⠀⠀⠀
  10. ⠀⠀⠀⠀⠀⠀⠀⢻⣿⠃⠀⠀⠀⠀⠀⠀⠀⠈⠿⡿⠛⢄⠀⠀⠱⣄⠀⠀⠀⠀
  11. ⠀⠀⠀⠀⠀⠀⠀⢸⠈⠓⠦⠀⣀⣀⣀⠀⡠⠴⠊⠹⡞⣁⠤⠒⠉⠀⠀⠀⠀⠀
  12. ⠀⠀⠀⠀⠀⠀⣠⠃⠀⠀⠀⠀⡌⠉⠉⡤⠀⠀⠀⠀⢻⠿⠆⠀⠀⠀⠀⠀⠀⠀
  13. ⠀⠀⠀⠀⠀⠰⠁⡀⠀⠀⠀⠀⢸⠀⢰⠃⠀⠀⠀⢠⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀
  14. ⠀⠀⠀⢶⣗⠧⡀⢳⠀⠀⠀⠀⢸⣀⣸⠀⠀⠀⢀⡜⠀⣸⢤⣶⠀⠀⠀⠀⠀⠀
  15. ⠀⠀⠀⠈⠻⣿⣦⣈⣧⡀⠀⠀⢸⣿⣿⠀⠀⢀⣼⡀⣨⣿⡿⠁⠀⠀⠀⠀⠀⠀
  16. ⠀⠀⠀⠀⠀⠈⠻⠿⠿⠓⠄⠤⠘⠉⠙⠤⢀⠾⠿⣿⠟⠋
  17. */
  18.  
  19. #include <iostream>
  20. #include <string>
  21. #include <sstream>
  22. #include <vector>
  23. #include <cmath>
  24. #include <algorithm>
  25. #include <memory.h>
  26. #include <stdio.h>
  27. #include <stack>
  28. #include <deque>
  29. #include <queue>
  30. #include <set>
  31. #include <iterator>
  32. #include <map>
  33. #include <iomanip>
  34. #include <unordered_set>
  35. #define int long long
  36. #define pb push_back
  37. #define double long double
  38. #define endl "\n"
  39. #define fir first
  40. #define sec second
  41. #define un unsigned
  42. #define INF 1000000007
  43. #define pii pair<int, int>
  44. #define all(v) v.begin(), v.end()
  45. using namespace std;
  46.  
  47. const int N = 1000000, R = 1 << 20;
  48.  
  49. signed main()
  50. {
  51.     ios_base::sync_with_stdio(false);
  52.     cin.tie(0);
  53.     cout.tie(0);
  54.  
  55.     int w, h, n;
  56.     cin >> w >> h >> n;
  57.  
  58.     vector<pii> vc(n);
  59.     vector<vector<int>> dp(w + 1, vector<int>(h + 1, 0));
  60.  
  61.     for (int i = 0; i < n; i++)
  62.     {
  63.         int a, b;
  64.         cin >> a >> b;
  65.  
  66.         vc[i].first = a;
  67.         vc[i].second = b;
  68.  
  69.         dp[a][b] = 1;
  70.     }
  71.  
  72.     for (int i = 1; i <= w; i++)
  73.     {
  74.         for (int j = 1; j <= h; j++)
  75.         {
  76.             int mx = dp[i][j];
  77.  
  78.             for (int q = 1; q < i; q++)
  79.             {
  80.                 mx = max(mx, dp[q][j] + dp[i - q][j]);
  81.             }
  82.  
  83.             for (int q = 1; q < j; q++)
  84.             {
  85.                 mx = max(mx, dp[i][q] + dp[i][j - q]);
  86.             }
  87.  
  88.             dp[i][j] = mx;
  89.         }
  90.     }
  91.  
  92.     cout << dp[w][h];
  93.     return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement