leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0808.cpp (476B)
0 class Solution {
1 double dp[200][200] = {0};
3 double calc(int a, int b) {
4 if (a <= 0 && b <= 0) return 0.5;
5 if (a <= 0) return 1;
6 if (b <= 0) return 0;
7 if (dp[a][b] > 0) return dp[a][b];
8 return dp[a][b] =
9 0.25 * (calc(a - 4, b) + calc(a - 3, b - 1) + calc(a - 2, b - 2) + calc(a - 1, b - 3));
10 }
12 public:
13 double soupServings(int n) { return n > 4800 ? 1.0 : calc(ceil(n / 25.0), ceil(n / 25.0)); }
14 };