1) На
ускорителе для большого числа частиц производятся замеры скорости каждой из
них. Все скорости положительны. Чтобы в документации качественно отличать одну
серию эксперимента от другой каждую серию решили характеризовать числом равным
минимальной чётной сумме из всех сумм пар скоростей различных частиц. Если чётная
сумма отсутствует, то характеристикой будет являться просто минимальная сумма.
Вам предлагается написать эффективную, в том числе по
используемой памяти, программу (укажите используемую версию языка
программирования), которая будет обрабатывать результаты эксперимента, находя
искомую величину. Следует учитывать, что частиц, скорость которых измерена,
может быть очень много, но не может быть меньше двух.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
На вход программе в первой строке подается количество частиц N. В каждой из последующих N суток записано одно натуральное число не превышающее 30000.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
На вход программе в первой строке подается количество частиц N. В каждой из последующих N суток записано одно натуральное число не превышающее 30000.
Пример входных данных:
5
123
1000
12
2548
12
Программа должна вывести характеристику данной серии экспериментов.
123
1000
12
2548
12
Программа должна вывести характеристику данной серии экспериментов.
Пример выходных данных для приведенного выше примера
входных данных:
24
2) На
электронную почту Вам пришло письмо, подписанное аббревиатурой (первыми буквами
фамилии, имени и отчества (далее - ФИО) отправителя). Аббревиатура оказалась
Вам незнакома. У Вас есть список всех предполагаемых отправителей, взятый из
ранее полученных писем, среди которых различных людей с такой аббревиатурой не
больше 10.
Вам предлагается написать эффективную, в том числе по
используемой памяти, программу (укажите используемую версию языка, например
Borland Pascal 7.0), которая определит всех вероятных адресатов – людей, ФИО
которых можно сократить до нужной аббревиатуры. ФИО следует выдать в порядке
убывания частоты их встречаемости в списке.
На вход программе в первой строке подается аббревиатура –
строка, состоящая из трех заглавных латинских букв. Во второй строке находится
число N – количество ФИО, полученных в результате анализа почты, не все из них
подходят под указанную аббревиатуру. Значение N может быть очень велико. В
каждой из следующих N строк записано три слова: Фамилия Имя Отчество
соответствующего человека. Слова разделяются одним пробелом. В конце и в начале
строки пробелов нет. Все слова записаны заглавными латинскими буквами. Длина
ФИО не превышает 100 символов. Гарантируется, что хотя бы один человек с нужной
аббревиатурой есть.
Пример входных данных:
IPI
4
IVANOV PETR IVANOVICH
4
IVANOV PETR IVANOVICH
PETROV IVAN IVANOVICH
IVANOV PETR IVANOVICH
ILYIN PETR ILYICH
Программа должна вывести предполагаемых отправителей письма
с указанием частоты их встречаемости в списке (в порядке убывания частоты).
Пример выходных данных для приведенного выше примера
входных данных:
IVANOV PETR IVANOVICH 2
ILYIN PETR ILYICH 1
3) На
вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру
хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не
превосходит 1000; во второй строке – количество ячеек в камере хранения K, которое не меньше 10, но не
превосходит 1000. Каждая из следующих N
строк
имеет следующий формат:
<Фамилия> <время сдачи багажа>
<время освобождения ячейки>,
где
<Фамилия> – строка, состоящая не более чем из 20 непробельных символов;
<время сдачи багажа> – через двоеточие два целых числа, соответствующие
часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2
символа); <время освобождения ячейки> имеет тот же формат.
<Фамилия> и <время сдачи багажа>, а также <время сдачи
багажа> и <время освобождения ячейки> разделены одним пробелом. Время
освобождения больше времени
сдачи.
Сведения
отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере
хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи
багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной
из них.
Требуется
написать программу (укажите используемую версию языка программирования,
например Borland Pascal
7.0), которая будет выводить на экран для каждого пассажира номер ему
предоставленной ячейки (можно сразу после ввода данных очередного пассажира).
Если ячейка пассажиру не предоставлена, то его фамилия не печатается.
Пример
входных данных:
3
10
Иванов 09:45 12:00
Петров 10:00 11:00
Сидоров 12:00 13:12
Результат
работы программы на этих входных данных:
Иванов 1
Петров 2
Сидоров 1
4) На
плоскости дан набор точек с целочисленными координатами. Необходимо найти
треугольник наибольшей площади с вершинами в этих точках, одна из сторон
которого лежит на оси OX.
Напишите эффективную, в том числе по памяти, программу, которая будет решать
эту задачу. Размер памяти, которую использует Ваша программа, не должен
зависеть от длины переданной последовательности чисел. Укажите используемый
язык программирования и его версию.
В первой строке вводится одно целое положительное число –
количество точек N. Каждая из следующих N
строк содержит два целых числа – сначала координата х, затем
координата у очередной точки.
Программа должна вывести одно число – максимальную площадь
треугольника, удовлетворяющего условиям задачи. Если такого треугольника не
существует, программа должна вывести ноль.
Пример входных
данных:
5
0 0
2 0
3
3
5
5
-6 -6
Пример выходных
данных для приведенного выше примера входных данных:
6
5) На
плоскости дай набор точек с целочисленными координатами. Необходимо найти такой
треугольник наибольшей площади с вершинами в этих точках, у которого нет общих
точек с осью Оу, а одна из сторон лежит на оси Ох.
Напишите эффективную, в том числе по памяти, программу,
которая будет решать эту задачу. Размер памяти, которую использует Ваша программа,
не должен зависеть от количества точек.
Перед текстом программы кратко опишите используемый
алгоритм решения задачи и укажите используемый язык программирования и его
версию.
Описание входных
данных
В первой строке вводится одно целое положительное число -
количество точек N.
Каждая из следующих N строк содержит два
целых числа - сначала координата х, затем координата у
очередной точки. Числа разделены пробелом.
Описание выходных
данных
Программа должна вывести одно число - максимальную площадь
треугольника, удовлетворяющего условиям задачи. Если такого треугольника не
существует, программа должна вывести ноль.
Пример входных
данных:
8
-10 0
2 0
0 4
3 3
7 0
5 5
4 0
9 -9
Пример выходных
данных для приведённого выше примера входных данных:
22.5
6) Соревнования
по игре «Тетрис-онлайн» проводятся по следующим правилам.
Каждый участник регистрируется на сайте игры под
определённым игровым именем. Имена участников не повторяются.
Чемпионат проводится в течение определённого времени. В
любой момент этого времени любой зарегистрированный участник может зайти на
сайт чемпионата и начать зачётную игру. По окончании игры её результат
(количество набранных очков) фиксируется и заносится в протокол.
Участники имеют право играть несколько раз. Количество
попыток одного участника не ограничивается.
Окончательный результат участника определяется по одной
игре, лучшей для данного участника.
Более высокое место в соревнованиях занимает участник,
показавший лучший результат.
При равенстве результатов более высокое место занимает
участник, раньше показавший лучший результат.
В ходе соревнований заполняется протокол, каждая строка
которого описывает одну игру и содержит результат участника и его игровое имя.
Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому
строки в нём расположены в порядке проведения игр: чем раньше встречается
строка в протоколе, тем раньше закончилась соответствующая этой строке игра.
Напишите эффективную, в том числе по памяти, программу,
которая по данным протокола определяет победителя и призёров. Гарантируется,
что в чемпионате участвует не менее трёх игроков.
Перед текстом программы кратко опишите алгоритм решения
задачи и укажите используемый язык программирования и его версию.
Описание входных данных
Первая строка содержит число N- общее количество строк
протокола. Каждая из следующих N строк содержит записанные через пробел
результат участника (целое неотрицательное число, не превышающее 100 миллионов)
и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют
строкам протокола и расположены в том же порядке, что и в протоколе.
Гарантируется, что количество участников соревнований не
меньше 3.
Описание выходных данных
Программа должна вывести имена и результаты трёх лучших
игроков по форме, приведённой ниже в примере.
Пример входных данных:
9
69485 Jack
95715 qwerty
95715 Alex
83647 М
197128 qwerty
95715 Jack
93289 Alex
95715 Alex
95715 M
Пример выходных
данных для приведённого выше примера входных данных:
1 место. qwerty (197128)
2 место. Alex (95715)
3 место. Jack (95715)
где коменты?
ОтветитьУдалить