oh20020409   2년 전

arr[i] : i 번째에 사용할 벽장의 값

dp[i][j][k]의 정의 : i 번째에 비워야하는 두 개의 벽장의 위치 j,k 일 때 최소 이동 횟수

반례좀 알려주세요 ㅠㅠㅠㅠㅠ

oh20020409   2년 전

자답합니다.

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보다 크다면 오류가 납니다.

댓글을 작성하려면 로그인해야 합니다.