Витя работает недалеко от одной из станций кольцевой линии Московского метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите п...

Витя работает недалеко от одной из станций кольцевой линии Московского метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой. Формат входных данных Станции пронумерованы подряд натуральными числами 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
Гость
Ответ(ы) на вопрос:
Гость
var  n,i,j,x,y1,y2:integer; 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы