게시판에 있는 반례들은 다 해봤는데 아직까지는 못찾았습니다. a배열은 계단의 값이고 result는 dp결과 배열입니다. 알고리즘은 result[n]은 result[n-3] + a[n-2] + a[n], result[n-4] + a[n-2] + a[n], result[n-3] + a[n-1] + a[n] 중 최대값으로 했습니다. 이전의이동경우가 (1,2), (2,2), (2,1)인 경우입니다. 저 중 result[n-3]이 그 이전에 (2,1) 로 뛴 경우 그 다음은 (1,2)를 오를 수 없으므로 뒤의 두가지만 비교합니다. 예외케이스로 1~5까지의 result값은 그냥 구했습니다. 도움좀 부탁드립니다.
pianissimo 5년 전
게시판에 있는 반례들은 다 해봤는데 아직까지는 못찾았습니다.
a배열은 계단의 값이고 result는 dp결과 배열입니다.
알고리즘은 result[n]은
result[n-3] + a[n-2] + a[n], result[n-4] + a[n-2] + a[n], result[n-3] + a[n-1] + a[n]
중 최대값으로 했습니다. 이전의이동경우가 (1,2), (2,2), (2,1)인 경우입니다.
저 중 result[n-3]이 그 이전에 (2,1) 로 뛴 경우 그 다음은 (1,2)를 오를 수 없으므로 뒤의 두가지만 비교합니다.
예외케이스로 1~5까지의 result값은 그냥 구했습니다.
도움좀 부탁드립니다.