Участник:Rublev.mv/soup-servings
Материал из DISCOPAL
class Solution { public double soupServings(int N) { Double[][] arr=new Double[N+1][N+1]; return soup_serv(N, N, arr); } public double soup_serv(int A, int B, Double[][] arr) { if (A <= 0 && B <= 0) return 0.5; if (A <= 0) return 1.0; if (B <= 0) return 0.0; if (arr[A][B] != null) { return arr[A][B]; } int[] arrA = {100, 75, 50, 25}; int[] arrB = {0, 25, 50, 75}; arr[A][B] = 0.0; for (int i = 0; i < 4; i++) { arr[A][B] += soup_serv(A - arrA[i], B - arrB[i], arr); } return arr[A][B] *= 0.25; } }
StasFomin 18:18, 16 декабря 2020 (MSK): Проблемы в решении