엘리베이터

면접 대비

시간 제한1초메모리 제한256 MB

요약
1층부터 F층까지만 움직이는 엘리베이터에서 U층 올라가기와 D층 내려가기 버튼만으로 S층에서 G층까지 가는 최소 버튼 횟수를 구한다.
난이도

보통10점 중 4점

유형
BFS, 그래프, 최단 경로, 구현
정답자
아직 제출이 없습니다

문제

강호는 어느 코딩 교육 스타트업에 지원했고, 오늘은 면접을 보는 날이다. 그런데 늦잠을 잔 강호는 회사가 있는 건물에 늦게 도착하고 말았다.

회사는 총 FF층짜리 고층 건물에 있으며, 사무실은 GG층에 있다. 지금 강호가 있는 곳은 SS층이고, 엘리베이터를 타고 GG층으로 이동하려고 한다.

보통 엘리베이터에는 각 층으로 가는 버튼이 있지만, 강호가 탄 엘리베이터에는 버튼이 두 개뿐이다.

  • U 버튼: 위로 UU층 올라간다.
  • D 버튼: 아래로 DD층 내려간다.

만약 위로 UU층 올라가면 가장 높은 층(FF층)을 넘어가거나, 아래로 DD층 내려가면 11층보다 아래로 내려가는 경우에는 엘리베이터가 움직이지 않는다.

강호가 GG층에 도착하려면 버튼을 최소 몇 번 눌러야 하는지 구하여라. 만약 엘리베이터만으로는 GG층에 갈 수 없다면 use the stairs를 출력한다.

입력

첫째 줄에 다섯 정수 FF, SS, GG, UU, DD가 공백으로 구분되어 주어진다. (1≤S,G≤F≤1061 \le S, G \le F \le 10^6, 0≤U,D≤1060 \le U, D \le 10^6)

건물은 11층부터 시작하며, 가장 높은 층은 FF층이다.

출력

강호가 SS층에서 GG층으로 가기 위해 눌러야 하는 버튼 횟수의 최솟값을 출력한다. 엘리베이터로 GG층에 갈 수 없다면 use the stairs를 출력한다.

예제2

  1. 예제 1

    입력
    10 1 10 2 1
    
    예상 출력
    6
    
  2. 예제 2

    입력
    100 2 1 1 0
    
    예상 출력
    use the stairs