자답합니다.
dp 배열을 초기화 할 때 아래와 같이 하였는데
for (int i = 0; i <= n; i++)
for (int j = 1; j <= n; j++)
for (int k = 1; k <= n; k++)
dp[i][j][k] = INF;
첫 번째 반복 변수인 i에서 오류가 납니다.
i는 벽장문의 총 개수가 아닌 옮길 벽장문의 수이기 때문입니다.
예를들어 옮길 벽장문의 총 개수가 n보다 크다면 오류가 납니다.
2666번 - 벽장문의 이동
자답합니다.
dp 배열을 초기화 할 때 아래와 같이 하였는데
for (int i = 0; i <= n; i++)
for (int j = 1; j <= n; j++)
for (int k = 1; k <= n; k++)
dp[i][j][k] = INF;
첫 번째 반복 변수인 i에서 오류가 납니다.
i는 벽장문의 총 개수가 아닌 옮길 벽장문의 수이기 때문입니다.
예를들어 옮길 벽장문의 총 개수가 n보다 크다면 오류가 납니다.
댓글을 작성하려면 로그인해야 합니다.
oh20020409 2년 전
arr[i] : i 번째에 사용할 벽장의 값
dp[i][j][k]의 정의 : i 번째에 비워야하는 두 개의 벽장의 위치 j,k 일 때 최소 이동 횟수
반례좀 알려주세요 ㅠㅠㅠㅠㅠ