안녕하세요? 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++
정주영
안녕하세요? 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)
10년 전