Витя работает недалеко от одной из станций кольцевой линии московского метро, а живет рядом с другой станцией той же линии. требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать вите по кольцу, чтобы добраться с работы домой. формат входных данных станции пронумерованы подряд натуральными числами 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

gogo38 gogo38    1   14.06.2019 13:40    63

Ответы
Дмитрий1425 Дмитрий1425  12.07.2020 06:56
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<y1 then writeln(y2) else writeln(y1);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика