Вопрос по информатике:
В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит
на 9 купе. Первые 36 мест расположены по левую сторону от прохода, места 1–4 находятся
в первом купе, места 5–8 – во втором и т. д. В девятом купе находятся места с номерами 33–
36. По правую сторону от прохода находятся боковые места, их номера от 37 до 54, причём
они нумеруются в противоположном направлении: места 37 и 38 находятся напротив
девятого купе, а места 53 и 54 – напротив первого. Ниже приведена схема всех мест в вагоне.
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
53 54 51 52 49 50 47 48 45 46 43 44 41 42 39 40 37 38
Группа школьников едет на олимпиаду и будет всю дорогу крутить спиннеры.
Поэтому им нужно купить места в нескольких подряд идущих купе вместе с прилегающими
боковыми местами. Даны номера свободных мест в поезде. Определите, какое наибольшее
число подряд идущих купе полностью свободны.
Программа получает на вход число N – количество свободных мест в вагоне
(0 ≤ N ≤ 54). Следующие N строк содержат номера свободных мест – различные числа от 1
до 54 в произвольном порядке, по одному числу в строке.
Программа должна вывести одно целое число – максимальное число подряд идущих
свободных купе (купе – 4 места слева от прохода и 2 боковых места) в этом вагоне.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 20.07.2017 09:14
- Информатика
- remove_red_eye 17606
- thumb_up 37
Ответы и объяснения 1
// PascalABC.NET
// Версия 3.3.5 сборка 1662 (29.04.2018)
begin
if n <= 36 then num := (n - 1) div 4
else num := 8 - (n - 37) div 2
end;
begin
var carr := ArrFill(9, 0);
for var i := 1 to ReadInteger do carr[num(ReadInteger)] += 1;
carr.AdjacentGroup.Where(t -> t[0] = 6).Select(t -> t.Count).Max.Println;
end.
Пример:
Ввод:
12
5 6 3 4 8 7 51 9 10 54 49 52
Вывод:
1
- 21.07.2017 02:28
- thumb_up 30
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.