leetcode

Solution 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 };