1class Solution {2public double soupServings(int n) {3if (n > 4800) return 1;4n = (int) Math.ceil(n * 1.0 / 25);5double dp[][] = new double[n + 1][n + 1];6return helper(n, n, dp);7}89double helper(int a, int b, double dp[][]) {10if (a <= 0 && b <= 0) return 0.5;11if (b <= 0) return 0;12if (a <= 0) return 1;13if (dp[a][b] > 0) return dp[a][b];14return dp[a][b] =150.2516* (helper(a - 4, b, dp)17+ helper(a - 3, b - 1, dp)18+ helper(a - 2, b - 2, dp)19+ helper(a - 1, b - 3, dp));20}21}22// Upvote please !!