Участник: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): Проблемы в решении Soup-servings 2020-12-16 18-17-34 image0.png