scs9802   3년 전

저는 계수정렬의 일반항을 이용하여 구하였습니다.

https://www.acmicpc.net/board/view/26059

나오는 예제는 올바른 값이 나옵니다. 

그런데 한가지 이상한게

0 15 를 입력하게 되면 6이 출력되어야 하는것이 아닌가요?

이동해야 하는 거리 = 15

처음의 이동거리는 무조건 1 -> 0+1 = 1

0,1,2 중에서 2만큼 이동 2 -> 1+2 = 3

1,2,3 중에서 3만큼 이동 3 -> 3+3 = 6

2,3,4 중에서 4만큼 이동 4 -> 6+4 = 10

3,4,5 중에서 5만큼 이동 5 -> 10+5 = 15 [마지막은 무조건 1만큼 이동해야 하므로 조건성립 X]

3,4,5 중에서 4만큼 이동 5 -> 10+4 = 14

마지막의 이동거리 6 -> 14+1 = 15

즉 최소이동횟수는 6번 아닌가요?

그런데 링크에 있는 예제에서의 답은 최소이동횟수가 7번 이라고 나옵니다.

joe2357   3년 전

1 2 3 4 4 다음에 1이 올 수 없습니다. 내려가는 것도 1씩 내려가야 하기 때문이죠.

0 15에서의 정확한 답은 1 2 3 3 3 2 1로 7번 이동해야 합니다.

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