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

Всалоне автобуса "дедалус" 20 рядов по 6 мест в каждом. в каждом ряду места нумеруются слева-направо: места 1, 2 и 3 находятся слева, а места 4, 5 и 6 - справа. места 1 и 6 находятся у окон, места 2 и 5 - средние, а места 3 и 4 - у прохода. когда пассажир входит в автобус, то он выбирает себе место по следующему принципу: сначала он выбирает ряд с наименьшим номером, на котором есть свободные места. если свободные места в этом ряду есть и слева и справа, то он выбирает левую половину, а если вся левая половина занята - правую. если свободных мест на половине ряда несколько, то пассажир выбирает место, наиболее близкое к окну. если пассажир сел на какое-то место, то он сидит на нём до конца поездки. автобус едет по маршруту, остановки на котором занумернованы от 1 до m, останавливаясь на каждой. на остановках автобус ждут n пассажиров, причём на каждой остановке в автобус ждёт не более одного пассажира. для каждого пассажира известна остановка, на которой он ждёт автобус и остановка, на которую он хочет попасть. если на одной и той же остановке пассажиры выходят и заходят, то сначала выходящие пассажиры места и входящий пассажир может занять их место. определите для каждого из пассажиров номер места, которое он займет. гарантируется, что всем пассажирам хватит места. формат входных данных в первой строке задано 2 целых числа: m и n (1 ≤ m ≤ 1000, 1 ≤ n ≤ m) - количество остановок и пассажиров соответственно. в следующих m строках дано описание пассажиров. каждое описание состоит из двух чисел f и t (1 ≤ f < t ≤ m) - номеров начальной и конечной остановки для этого пассажира. описания по возрастанию номеров начальной остановки. формат результата выведите n чисел - номера мест, которые займут пассажиры в порядке их входа в автобус

Показать ответ
Ответ:
Const Sz = 1000; var   a: array [1..Sz] of integer;  a1: array [1..Sz] of integer;  a2: array [1..Sz] of integer;  a3: array [1..Sz] of integer;  M: integer;  N: integer;  i: integer;  k: integer;begin  read(M);  readln(N);  for k:=1 to N do begin    read(a[i]);    readln(a1[i]);    if (a[i]<>0) then a3[i]:=1 else a3[i]:=0;    end;  for k:=1 to N do begin  if(a3[i]<>0) then begin  for i:=1 to i do begin  if(a3[k]=0) then d[i]:=1;  if (a2[k]=i) then d[k]:=0;   end;   writeln(a3[i])  end;end;end.
вроде так
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота