돌다리
시간 제한1초메모리 제한128 MB
다리 위치 N에서 M까지 이동할 때 짚신 A, B로 +-1, +-A, +-B 이동과 A, B 곱하기 이동을 사용해 최소 이동 횟수를 구한다.
문제
동규와 주미는 일직선으로 놓인 돌다리 위에 있다. 돌에는 0번부터 100,000번까지 번호가 붙어 있고, 동규는 번 돌, 주미는 번 돌에 서 있다.
동규는 주미를 빨리 만나려고 힘이 인 스카이 콩콩과 힘이 인 스카이 콩콩을 챙겨 왔다. 다리를 건너는 방식은 턴제이고, 한 턴에 현재 위치 에서 다음 여덟 가지 중 하나를 고른다.
- 이나 로 걸어간다.
- 스카이 콩콩으로 , , , 중 한 곳으로 뛴다.
- 순간적으로 힘을 모아 번이나 번 돌로 이동한다.
예를 들어 동규가 7번 돌에 있고 스카이 콩콩의 힘이 8이면, 그냥 뛰어서 15번 돌에 갈 수도 있고 힘을 모아 56번 돌에 갈 수도 있다.
번호가 0보다 작거나 100,000보다 큰 돌은 없으므로 그런 위치로는 이동할 수 없다. 같은 방법을 여러 번 써도 되고, 입력은 항상 주미에게 도달할 수 있는 경우만 주어진다.
입력
첫째 줄에 스카이 콩콩의 힘 와 , 동규의 위치 , 주미의 위치 이 공백으로 구분되어 주어진다. (, )
출력
동규가 주미에게 도달하기 위한 최소 이동 횟수를 출력한다.