
Витя работает недалеко от одной из станций кольцевой линии Московского метро, а живет рядом с
другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой. Формат входных данных Станции пронумерованы подряд натуральными числами 1, 2, 3, …, N (1-я станция – соседняя с N-й), N не превосходит 100. Вводятся три числа: сначала N – общее количество станций кольцевой линии, а затем i и j – номера станции, на которой Витя садится, и станции, на которой он должен выйти. Числа i и j не совпадают. Все числа разделены пробелом. Формат выходных данных Требуется выдать минимальное количество промежуточных станций (не считая станции посадки и высадки), которые необходимо проехать Вите. Примеры Входные данные Выходные данные Комментарий 100 5 6 0 На кольцевой линии 100 станций; проехать с 5-й на 6-ю станцию Витя может напрямую, без промежуточных станций 10 1 9 1 На кольцевой линии 10 станций; проехать с 1-й на 9-ю станцию Витя может через одну промежуточную, ее номер 10

Ответы на вопрос

begin
readln(n,i,j);
x:=i;
y1:=-1;
y2:=-1;
//y1 - движение в прямом направлении
repeat
x:=x+1;
if x>n then x:=1;
y1:=y1+1;
until x=j;
//y2 - движение в обратном направлении
x:=i;
repeat
x:=x-1;
if x<1 then x:=n;
y2:=y2+1;
until x=j;
if y2<y1 then writeln(y2) else writeln(y1);
end.



Задача заключается в определении минимального количества промежуточных станций, которые Витя должен проехать по кольцевой линии метро, чтобы добраться с работы домой. Для решения этой задачи необходимо знать общее количество станций на кольцевой линии, а также номера станции, на которой Витя садится, и станции, на которой он должен выйти.
Входные данные:
- N: общее количество станций на кольцевой линии - i: номер станции, на которой Витя садится - j: номер станции, на которой Витя должен выйтиВыходные данные:
- Минимальное количество промежуточных станций, которые необходимо проехать ВитеПримеры:
# Входные данные:
- N = 100 - i = 5 - j = 6# Выходные данные:
- 0# Комментарий:
На кольцевой линии есть 100 станций. Витя должен проехать с 5-й на 6-ю станцию, которые находятся рядом друг с другом. Поэтому Витя может доехать напрямую без промежуточных станций.# Входные данные:
- N = 10 - i = 1 - j = 9# Выходные данные:
- 1# Комментарий:
На кольцевой линии есть 10 станций. Витя должен проехать с 1-й на 9-ю станцию. Он может сделать это через одну промежуточную станцию.Для решения этой задачи можно использовать следующий алгоритм: 1. Вычислить разницу между номерами станций, на которых Витя садится и выходит. 2. Если разница отрицательная, то Витя должен проехать через конечную станцию, поэтому необходимо вычесть эту разницу из общего количества станций на кольцевой линии. 3. В противном случае, разница будет являться минимальным количеством промежуточных станций, которые Витя должен проехать.
Например, для входных данных N = 100, i = 5, j = 6: - Разница между номерами станций: 6 - 5 = 1 - Минимальное количество промежуточных станций: 1
Для входных данных N = 10, i = 1, j = 9: - Разница между номерами станций: 9 - 1 = 8 - Минимальное количество промежуточных станций: 8
Обратите внимание: Для решения этой задачи не требуется использование внешних источников информации.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili