Присоединиться

11 класс·высокий уровень

В физической лаборатории проводится долговременный эксперимент по

Условие

В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число — текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 10 000. Все числа не превышают 1000. Временем, в течение которого происходит передача, можно пренебречь.Необходимо вычислить «бета-значение» серии показаний прибора — минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 7 минут. Если получить такое произведение не удаётся, ответ считается равным -1.Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору.Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание — 0 баллов.Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе. А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Перед программой укажите версию языка программирования. Обязательно укажите, что программа является решением задания А.Максимальная оценка за выполнение задания А — 2 балла.Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм. Обязательно укажите, что программа является решением задания Б.Максимальная оценка за правильную программу, эффективную по времени и по памяти, — 4 балла.Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, — 3 балла.Напоминаем! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.Входные данные представлены следующим образом. В первой строке задаётся число N - общее количество показаний прибора. Гарантируется, что N > 7. В каждой из следующих N строк задаётся одно положительное целое число — очередное показание прибора.Пример входных данных: 121245531417232120191817Программа должна вывести одно число — описанное в условии произведение, либо -1, если получить такое произведение не удаётся.Пример выходных данных для приведённого выше примера входных данных: 54 Критерии оценивания выполнения задания | Баллы | Программа правильно работает для любых соответствующих условию входных данных. При этом не используются массивы и другие структуры данных, размер которых зависит от количества входных элементов, а время работы пропорционально этому количеству. Возможно использование массивов и динамических структур данных (например, контейнеры STL в программе на языке C++) при условии, что в них в каждый момент времени хранится не более 15 элементов (минимально необходимое количество — шесть; допускается решение с запасом).Программа может содержать не более трёх синтаксических ошибок следующих видов:− пропущен или неверно указан знак пунктуации (запятая, точка с запятой, скобки и т.д.);− неверно написано или пропущено служебное слово языка программирования;− не описана или неверно описана переменная;− применяется операция, не допустимая для соответствующего типа данных.К синтаксическим ошибкам приравнивается использование неверного типа данных (например, использование целого типа вместо вещественного для представления данных при вводе и обработке).Если одна и та же ошибка встречается несколько раз, она считается за одну ошибку. | 4 | Не выполнены условия, позволяющие поставить 4 балла. Программа правильно работает для любых соответствующих условию входных данных, время работы пропорционально количеству входных элементов. Размер используемой памяти не имеет значения и может зависеть от объёма входных данных. В частности, допускается использование одного или нескольких массивов размера N (как в первых двух приведённых выше решениях).Программа может содержать не более пяти синтаксических и приравненных к ним ошибок, описанных в критериях на 4 балла. Кроме того, допускается наличие не более одной «содержательной» ошибки из числа следующих:− неверная инициализация при поиске минимального значения;− неверная обработка начальных элементов данных, которая может, например, привести к получению ошибочного ответа при 6 < N < 12;− неточное определение границ массива, выход за границу массива (например, описан массив с границами от 1 до 6, а реально используется от 0 до 5 или наоборот);− вычисленный индекс элемента массива на 1 отличается от верного;− используется знак “<” вместо “<=”, “or” вместо “and” и т. п. | 3 | Не выполнены условия, позволяющие поставить 3 или 4 балла. Программа работает в целом верно, эффективно или нет. Например, допускается решение, в котором все элементы хранятся в массиве и производится перебор всех пар, расстояние между которыми не меньше 6. Допускается до семи синтаксических и приравненных к ним ошибок (см. критерии на 4 балла). Допускается до двух «содержательных» ошибок, описанных в критериях на 3 балла. | 2 | Не выполнены условия, позволяющие поставить 2, 3 или 4 балла. Из описания алгоритма или общей структуры программы видно, что экзаменуемый в целом правильно представляет путь решения задачи независимо от эффективности. При этом программа может отсутствовать или быть представленной отдельными фрагментами, без ограничений на количество ошибок. | 1 | Не выполнены критерии, позволяющие поставить 1, 2, 3 или 4 балла | 0 | Максимальный балл | 4 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. Задание Б (решение для задания А приведено ниже, см. программу 4). Чтобы произведение было чётным, хотя бы один сомножитель должен быть чётным, поэтому при поиске подходящих произведений чётные показания прибора можно рассматривать в паре с любыми другими, а нечётные — только с чётными.Для каждого показания с номером k, начиная с k = 8, рассмотрим все допустимые по условиям задачи пары, в которых данное показание получено вторым. Минимальное произведение из всех этих пар будет получено, если первым в паре будет взято минимальное подходящее показание среди всех, полученных от начала приёма и до показания с номером k —

Осталось ещё 8 шагов

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

  7. Шаг 8

  8. Шаг 9

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Программирование»

В физической лаборатории проводится долговременный эксперимент по — решение с объяснением | Lom Ai