Проблемы с лифтом
Вы направляетесь на свое первое собеседование на должность тестировщика программного обеспечения и уже опаздываете. Собеседование проходит в небоскребе, и вы находитесь на этаже s, где видите лифт. Войдя в лифт, вы обнаруживаете, что у него есть только две кнопки: "UP u" и "DOWN d". Вы предполагаете, что кнопка UP поднимает лифт на u этажей вверх (если этажей недостаточно, нажатие кнопки UP ничего не делает), а кнопка DOWN опускает лифт на d этажей вниз (или не опускает, если этажей недостаточно). Зная, что собеседование проходит на этаже g, и что в здании всего f этажей, вы решаете написать программу, которая подскажет вам количество нажатий кнопок, необходимых для достижения цели. Если добраться до нужного этажа невозможно, программа должна вывести сообщение "use the stairs".
Даны f, s, g, u и d (общее количество этажей, стартовый этаж, целевой этаж, количество этажей вверх, количество этажей вниз). Ваша задача — определить кратчайшую последовательность нажатий кнопок, чтобы добраться от s до g в здании из f этажей, или вывести "use the stairs", если это невозможно с помощью данного лифта.
Входные данные
Состоят из одной строки: f s g u d, где 1 ≤ s, g ≤ f ≤ 10^6
и 0 ≤ u, d ≤ 10^6
. Этажи нумеруются с единицы, то есть если всего 10 этажей, то s и g находятся в диапазоне [1, 10].
Выходные данные
Выведите минимальное количество нажатий, необходимых для достижения этажа g из этажа s, или выведите use the stairs, если это невозможно при данной конфигурации лифта.