JUMP Game 관련 컴파일 에러 문제

  • 정주영
    정주영

    안녕하세요? JUMPGAME 문제를 풀던 중 몇번에 걸친 컴파일 에러로 인해 도움을 요청드려봅니다.

    하기와 같이 코드를 작성하였는데, 사실 알고리즘 문제해결전략 책에서 나온 부분이라 의심없이 컴파일 했습니다만 계속 에러가 발생하여 문의드립니다.

    코드는 다음과 같고 문제는
    int &ret = memo[x][y]; 에서 발생하고 있습니다.
    아래와 같은 오류가 발생하는 이유가 무엇인지 조언 부탁드립니다.


    submission.c: In function ‘jump’:
    submission.c:20:6: error: expected identifier or ‘(’ before ‘&’ token
    int &ret = memo[x][y];
    ^
    submission.c:22:6: error: ‘ret’ undeclared (first use in this function)
    if (ret != -1)


    #include <stdio.h>
    
    int N = 0;
    
    #define MAX (101)
    int array[MAX][MAX] = { 0, };
    
    int memo[MAX][MAX] = { 0, };
    
    int jump(int x, int y)
    {
        if (x >= N || y >= N)
            return 0;
        if ((x == N - 1) && (y == N - 1))
            return 1;
    
        int &ret = memo[x][y];
    
        if (ret != -1)
            return ret;
    
        int jumpSize = array[x][y];
    
        return ret = (jump(x+jumpSize, y) || jump(x, y+jumpSize));
    }
    
    int main(void)
    {
        int C;
        int test_case;
    
        freopen("input.txt", "r", stdin);
        setbuf(stdout, NULL);
    
        scanf("%d", &C);
        //printf("%d\n", C);
    
        for (test_case = 0; test_case < C; ++test_case)
        {
            int result = -1;
            scanf("%d", &N);
            //printf("N: %d\n", N);
    
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    scanf("%d", &array[i][j]);
                    //printf("%d ", array[i][j]);
                }
                //printf("\n");
            }
            //printf("\n");
    
            //초기화
            for (int i = 0; i < N; i++)
                for (int j = 0; j < N;j++)
                    memo[i][j] = -1;
    
            result = jump(0, 0);
    
            if (result == 1)
                printf("YES\n");
            else
                printf("NO\n");
        }
    
        return 0;
    }
    ~~~ c++
    

    8년 전
2개의 댓글이 있습니다.
  • Toivoa
    Toivoa

    C로 제출하셨던데 C++로 제출해보세요


    8년 전 link
  • 정주영
    정주영

    답변 감사합니다!


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