Вопрос по информатике:
В салоне автобуса "Дедалус" 20 рядов по 6 мест в каждом. В каждом ряду места нумеруются слева-направо. Так в первом ряду места 1, 2 и 3 находятся слева, а места 4, 5 и 6 - справа. Места 1 и 6 находятся у окон, места 2 и 5 - средние, а места 3 и 4 - у прохода. Когда пассажир входит в автобус, то он выбирает себе место по следующему принципу: сначала он выбирает ряд с наименьшим номером, на котором есть свободные места. Если свободные места в этом ряду есть и слева и справа, то он выбирает левую половину, а если вся левая половина занята - правую. Если свободных мест на половине ряда несколько, то пассажир выбирает место, наиболее близкое к окну. Если пассажир сел на какое-то место, то он сидит на нём до конца поездки. Автобус едет по маршруту, остановки на котором занумернованы от 1 до M, останавливаясь на каждой. На остановках автобус ждут N пассажиров, причём на каждой остановке автобус ждёт не более одного пассажира. Для каждого пассажира известна остановка, на которой он ждёт автобус и остановка, на которую он хочет попасть. Если на одной и той же остановке пассажиры выходят и заходят, то сначала выходящие пассажиры освобождают места и входящий пассажир может занять их место. Определите для каждого из пассажиров номер места, которое он займет. Гарантируется, что всем пассажирам хватит места.
- 21.09.2017 03:10
- Информатика
- remove_red_eye 18644
- thumb_up 32
Ответы и объяснения 1
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.
- 22.09.2017 22:28
- thumb_up 39
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.