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}; 2 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 } 11 12 public: 13 double soupServings(int n) { return n > 4800 ? 1.0 : calc(ceil(n / 25.0), ceil(n / 25.0)); } 14 };