길이의 수 행에서 M
, 0 < M <= 1,000,000,000
당신은 주어진, N
( 1 < N <= 100,000
점 쌍의 정수)입니다. 각 쌍에서 첫 번째 점은 현재 개체가있는 위치를 나타내고 두 번째 점은 개체를 이동할 위치를 나타냅니다. ( second
점은 보다 작을 수 있음 을 명심 하십시오 first
).
이제 지점에서 시작하여 물건을 0
담을 수있는 카트가 있다고 가정하십시오 1
. 변위가 아닌 수선을 따라 최소 거리를 이동하면서 모든 객체를 초기 위치에서 각각의 최종 위치로 이동하려고합니다 . 당신은 지점에 결국해야합니다 M
.
이제이 문제를 더 간단한 문제로 줄이기 위해 노력했습니다. 솔직히 말해서 난 짐승의 힘 (생각할 수 없다 아마도 욕심) 솔루션입니다. 그러나 나의 첫 번째 생각은 후진 운동을 두 개의 전진 운동으로 퇴화시키는 것이었지만 모든 경우에 작동하지는 않습니다.
이 3
샘플 테스트 사례를 여기에 그렸습니다 .
첫 번째 테스트 케이스에 대한 답변은 12
입니다. 먼저 red
지점 에서 아이템 을 가져옵니다 0
. 그런 다음 지점 6
(거리 = 6
)으로 이동 하고 red
항목을 일시적으로 삭제 한 다음 항목을 가져옵니다 green
. 그런 다음 5
(distance = 1
) 지점으로 이동 하여 green
항목을 삭제하십시오 . 그런 다음 지점 6
(distance = 1
) 으로 되돌아 가서 red
떨어 뜨린 아이템을 집어 들고 지점 9 (distance = 3
)로 이동 한 다음 지점 10
(distance = 1
)으로 이동 하여 시퀀스를 완료합니다.
이동 한 총 거리는 6 + 1 + 1 + 3 + 1 = 12
이며 가능한 최소 거리입니다.
다른 두 경우에 대한 답변이 12
있다고 생각합니다. 그러나 그것을 해결하기위한 일반적인 규칙을 찾을 수 없습니다.
누구든지 아이디어가 있습니까?