RTE(nonzero return code)에 대해 궁금합니다

  • daeseop
    daeseop

    알고리즘 해결 전략 동적계획법 부분 차례대로 풀고있는데요.
    SNAIL 문제에서 책에 나와있는 코드로 해서 결과값은 얻었는데 채점 돌리면 런타임 오류 뜨면서 RTE(nonzero return code) 뜨고 있는데 어떤 부분에서 그런건지 도무지 감이 안옵니다. 알고계신분 힌트라도 주세용!

    코드

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Arrays;
    
    public class Main {
        static double cache[][];
        static int n, m;
        static int MAX = 2000;
    
        public static void main(String[] args) throws Exception {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringBuffer sb = new StringBuffer();
    
            int test = Integer.parseInt(br.readLine().trim());
    
            while (test-- > 0) {
                String s[] = br.readLine().split(" ");
                // 우물 깊이
                n = Integer.parseInt(s[0]);
                // 비온날
                m = Integer.parseInt(s[1]);
                cache = new double[MAX][MAX];
    
                init();
    
                System.out.printf("%.10f\n", climb(0, 0));
    
            }
        }
    
        static void init() {
            for (double[] arr : cache)
                Arrays.fill(arr, -1);
        }
    
        public static double climb(int meter, int days) {
    
            if (days == m && days != 0)
                return meter >= n ? (double) 1.0 : (double) 0.0;
    
            if (cache[meter][days] >= 0)
                return cache[meter][days];
    
            return cache[meter][days] = (0.75 * climb(meter + 2, days + 1)) + (0.25 * climb(meter + 1, days + 1));
        }
    }
    


    6년 전
0개의 댓글이 있습니다.
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.