Задача 5: Поезд
Два друга-биолога Василий и Петр едут в Африку на поезде. Билеты они покупали в разное время и не смогли получить места в одном вагоне. Василий купил билет на место с номером X, а Петр — на место с номером Y.

Все поезда в структуре РЖД комплектуются вагонами с одинаковым числом посадочных мест, равным K. Нумерация мест сквозная: в первом вагоне расположены места с номерами от 1 до K, во втором вагоне — места с номерами от K + 1 до 2K, и так далее. Помогите Василию посчитать, сколько раз он должен перейти из одного вагона в соседний для встречи с Петром.

Входные данные
В первой строке входных данных записано целое число K (1 ≤ K ≤ 109) — число посадочных мест в каждом вагоне.

Во второй строке записано целое число X — номер места Василия.

В третьей строке записано целое число Y (1 ≤ X < Y ≤ 109) — номер места Петра.

Выходные данные
Выведите одно целое число — количество переходов Василия из одного вагона в соседний.

Система оценки
Решения, работающие при K = 1 будут набирать не менее 12 баллов.

Решения, работающие при K ≤ 2, будут набирать не менее 28 баллов.

Решения, работающие, когда все числа не превосходят 100, будут набирать не менее 24 баллов.

Пример
Ввод

Вывод

Пояснение

3
3
7

2

Каждый вагон укомплектован тремя посадочными местами: в первом вагоне расположены места с номерами 1, 2, 3, во втором — с номерами 4, 5, 6, в третьем — с номерами 7, 8, 9.
Номер места Василия равен 3, значит он находится в первом вагоне. Петр купил билет на место с номером 7, значит он в третьем вагоне. Чтобы встретиться, Василий должен перейти из первого вагона во второй, затем из второго в третий, после чего друзья окажутся в одном вагоне.
Таким образом, Василию необходимо совершить два перехода между соседними вагонами.

тот же самый вопрос, из олимпиады?

как это вообще решить

Ответ
4 (18 оценок)
21
PER4K194 2 года назад
Светило науки - 1 ответ - 0 раз оказано помощи

a = int(input())  # кол-во мест в вагоне

b = int(input())  # место Василия

c = int(input())  # место Петра

x = a - 1

d = (b + x) // a  # вагон Василия

e = (c + x) // a  # вагон Петра

if d > e:

   print(d - e)

else:

   print(e - d)

Язык: Python

Остались вопросы?