Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Напишите программу, которая в последовательности натуральных чисел определяет количество и сумму чисел, оканчивающихся на 2 в семеричной системе счисления, и сравнивает их среднее арифметическое со 100.
Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 10 000.
В первой строке программа должна вывести через пробел количество и сумму чисел, оканчивающихся на 2 в семеричной системе счисления. Во второй строке программа должна вывести YES, если среднее арифметическое таких чисел строго больше 100, и NO в противном случае.
Гарантируется, что в последовательности есть хотя бы одно число, оканчивающееся на 2 в семеричной системе счисления.

Формат входных данных

Натуральные числа, по одному в строке. Признак окончания ввода — число 0.

Формат выходных данных

В первой строке через пробел количество и сумма таких чисел. Во второй строке YES или NO.

Напишите программу, которая в последовательности натуральных чисел определяет количество и максимум чисел, оканчивающихся на 4 в шестеричной системе счисления. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 10 000. Программа должна вывести через пробел два числа: количество таких чисел и их максимум. Гарантируется, что в последовательности есть хотя бы одно число, оканчивающееся на 4 в шестеричной системе счисления.

Формат входных данных

Натуральные числа, по одному в строке. Признак окончания ввода — число 0.

Формат выходных данных

Через пробел два числа: количество и максимум чисел, оканчивающихся на 4 в шестеричной системе счисления.

Напишите программу, которая в последовательности натуральных чисел определяет количество и сумму чисел, оканчивающихся на 1 в четверичной системе счисления. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 10 000. Программа должна вывести через пробел два числа: количество и сумму чисел, оканчивающихся на 1 в четверичной системе счисления. Гарантируется, что в последовательности есть хотя бы одно такое число.

Формат входных данных

Натуральные числа, по одному в строке. Признак окончания ввода — число 0.

Формат выходных данных

Через пробел два числа: количество и сумма чисел, оканчивающихся на 1 в четверичной системе счисления.

В терминале авиакомпании «Северный путь» работает K стоек регистрации; каждая стойка имеет категорию обслуживания: 1 — эконом, 2 — премиум, 3 — бизнес. Стойка категории c может обслуживать пассажиров только своей категории и ниже.

Пассажир класса c идёт к свободной стойке с подходящей категорией (≥ c) и наименьшим номером. Если такой стойки нет — пассажир уходит в самообслуживание (в задаче не учитывается). Стойка может принять следующего пассажира в ту же минуту, когда закончила обслуживать предыдущего.

Известна статистика за смену: N пассажиров, для каждого — время прихода, длительность регистрации и класс билета.

Найдите общее количество пассажиров, обслуженных через стойки, и номер стойки, которая обслужила больше всех. Если таких стоек несколько — меньший номер.

Формат входных данных. В первой строке — натуральное число K. Во второй строке — K натуральных чисел через пробел — категории стоек по порядку номеров от 1 до K. В третьей строке — натуральное число N. В каждой из следующих N строк — три числа: время прихода, длительность регистрации, класс пассажира.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-6.txt.

Сувенирная мастерская «Терем» собирает подарочные наборы по принципу «матрёшки»: подарок размера S упаковывают в коробку, ту — в коробку побольше, и так далее. Все коробки кубические; в наличии N коробок двух цветов: синие и красные.

В матрёшку идут только красные коробки. Каждая следующая коробка должна быть больше предыдущей не менее чем на K единиц длины стороны, где Kминимальная разница между длиной стороны какой-либо синей коробки и длиной стороны какой-либо красной коробки во всём массиве. Это условие применяется и к стартовому шагу: первая красная должна быть больше подарка S не менее чем на K.

Синие коробки сами в матрёшку не идут — они нужны только для определения параметра K.

Найдите максимальное количество красных коробок, которое можно использовать для упаковки одного подарка, и минимально возможную длину стороны самой большой коробки в таком наборе.

Формат входных данных. В первой строке — два натуральных числа: N и S. В каждой из следующих N строк — два числа через пробел: длина стороны коробки и обозначение цвета (0 — синяя, 1 — красная).

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-5.txt.

Музей «Грани» проводил вечернюю выставку. За вечер зафиксировано N сессий посещения: для каждой известны время прихода посетителя и время ухода в минутах от начала суток. Сессии могут пересекаться: одновременно в зале может находиться несколько посетителей.

Если один посетитель ушёл в ту же минуту, когда пришёл другой, — они не пересекаются: турникет успевает обработать обмен.

Найдите максимальное число посетителей, которые одновременно находились в зале за вечер, и самый ранний момент времени (в минутах от начала суток), в который это число было достигнуто.

Формат входных данных. В первой строке — натуральное число N. Каждая из следующих N строк содержит пару целых чисел через пробел — время прихода и ухода посетителя.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-4.txt.

Логистическая компания «Экспресс-куб» управляет автоматизированной сортировкой посылок по постаматам. На обработку поступило N посылок разного веса; в наличии M свободных ячеек, у каждой задана максимальная грузоподъёмность.

Каждая посылка укладывается в одну ячейку при условии: вес посылки не превышает грузоподъёмности ячейки. В одну ячейку помещается не более одной посылки.

Оператор хочет максимально загрузить постамат при оптимальном распределении посылок по ячейкам. Найдите максимальное количество посылок, которое можно разместить, и вес самой тяжёлой из размещённых посылок при таком оптимальном распределении.

Формат входных данных. В первой строке — два натуральных числа через пробел: N — количество посылок и M — количество ячеек. В следующих N строках — вес каждой посылки в граммах. В следующих M строках — грузоподъёмность каждой ячейки в граммах.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-3.txt.

В спортивный лагерь «Высота» отбираются спортсмены для основного состава. Поступило N заявок (N кратно 4); для каждого спортсмена известны: идентификатор (натуральное число от 1000 до 9999), количество дисциплинарных нарушений за прошедший сезон (целое число от 0 до 5), результат тестов общей физической подготовки (натуральное число от 50 до 100), возраст (натуральное число от 16 до 18).

Тренерский совет ранжирует спортсменов по правилам в строгом порядке приоритета:

  1. Меньше нарушений — выше в рейтинге.
  2. При равных нарушениях — выше результат тестов.
  3. При равных результатах — старше возраст (приоритет более опытным).
  4. При равном возрасте — меньший идентификатор.

В основной состав попадают первые 25% списка после ранжирования.

Найдите идентификатор последнего спортсмена основного состава (то есть на 25%-й позиции списка) и общее количество спортсменов без нарушений во всём массиве заявок.

Формат входных данных. В первой строке — натуральное число N. Каждая из следующих N строк содержит четыре целых числа через пробел: идентификатор, количество нарушений, результат тестов, возраст.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-2.txt.

Курьерская служба «Скоробег» обслуживает заявки одной машиной. За день поступило N заявок: для каждой известно желаемое окно доставки — время прибытия к клиенту и время окончания обслуживания (когда курьер освобождается). Машина может обслуживать только одну заявку одновременно.

После каждой выполненной заявки курьер тратит ровно B минут на переезд к следующему клиенту и подготовку груза. Поэтому новая заявка может начаться не раньше, чем через B минут после окончания предыдущей. Заявки, не попадающие в этот режим, отклоняются.

Найдите максимальное количество заявок, которое сможет выполнить курьер. Если таких расписаний несколько, курьер выбирает то, в котором он освободится как можно раньше. Выведите два числа: количество выполненных заявок и время окончания последней из них

Формат входных данных. В первой строке — два натуральных числа: N и B. В каждой из следующих N строк — пара целых чисел: время начала и окончания заявки.

В ответе запишите два числа через пробел.

Данные представлены в файле 26-final-1.txt.

📧
Шаг 2: Письма из ниоткуда
Просто
День второй. На почту приёмной комиссии завалилось 347 писем от абитуриентов. Кто-то пишет email в подписи, кто-то в теле письма, кто-то прямо в теме: «Если что, пишите на vasya.gamer@hse.ru, я там всегда онлайн». Твой начальник просит собрать все email в один список, потому что Excel у него снова завис. Печаль.
Условие задачи
 

Email считается валидным, если он состоит из:

  • имени из латинских букв, цифр и точек,
  • символа @,
  • домена из латинских букв, цифр и точек,
  • точки и доменного зона из 2–4 латинских букв (например, .ru, .edu, .com).
Входные данные

Одна строка произвольного текста.

Выходные данные

Все найденные email-адреса, по одному на строке, в порядке появления.

Подсказка: Шаблон: [a-zA-Z0-9.]+@[a-zA-Z0-9.]+\.[a-zA-Z]{2,4}. Не забудь экранировать точку перед доменной зоной: \..
🎁
Задание 10: Раздача призов
Средне
Турнир спасён! Осталось последнее — скрипт раздачи призов. Главные призы получают только топы (более 50 очков), а в розыгрыш мерча попадают «середнячки». Напиши финальный скрипт — и турнир начнётся!

Каждый участник турнира набрал определённое количество очков (целое, от 0 до 100). Напиши программу, которая определяет:

  1. Суммарное количество очков всех игроков, набравших более 50 очков (фонд главных призов).
  2. Количество игроков, набравших от 30 до 70 включительно (розыгрыш мерча).

Формат входных данных

Первая строка — натуральное число \(N\) (\(1 \le N \le 100\)). Далее \(N\) строк, в каждой — количество очков одного участника. Гарантируется, что хотя бы один набрал более 50 очков.

Формат выходных данных

Две строки: сумма очков топов и количество «середнячков».

📡
Задание 9: Датчик пинга
Сложно
Последняя подсистема — мониторинг сети. Датчик записывает отклонение пинга от нормы: положительное — лаг, отрицательное — опережение, ноль — норма. Нужно проанализировать стабильность соединения перед финалом турнира.

Дана последовательность целых чисел — отклонений пинга. Напиши программу, которая определяет:

  1. Минимальное положительное отклонение (наименьший лаг).
  2. Количество скачков — сколько раз знак отклонения менялся с положительного на отрицательный или наоборот (нулевые значения при подсчёте скачков пропускаются).

Формат входных данных

Первая строка — натуральное число \(N\) (\(2 \le N \le 100\)). Далее \(N\) строк с целыми числами. Гарантируется, что хотя бы одно значение положительное.

Формат выходных данных

Две строки: минимальное положительное отклонение и количество скачков.

При подсчёте скачков нулевые значения игнорируются: скачок считается между ближайшими ненулевыми соседями.

🏆
Задание 8: Рейтинг игроков
Средне
Таблица лидеров рассыпалась. Организаторам срочно нужны два числа для трансляции: лучший результат среди «новичков» (до 1000 очков) и количество элитных игроков. Напиши скрипт восстановления.

Для каждого игрока известен его рейтинг (целое положительное число). Напиши программу, которая определяет:

  1. Максимальный рейтинг среди игроков с рейтингом менее 1000.
  2. Количество элитных игроков (рейтинг более 5000).

Формат входных данных

Первая строка — натуральное число \(N\) (\(1 \le N \le 100\)). Далее \(N\) строк с рейтингами. Гарантируется, что хотя бы один рейтинг менее 1000.

Формат выходных данных

Две строки: максимум среди рейтингов < 1000 и количество элитных.

📊
Задание 7: Статистика матчей
Средне
Сервер матчей восстановлен, но логи повреждены. Нужно написать скрипт, который обработает данные о длительности матчей и выдаст два ключевых показателя для отчёта организаторам турнира.
 

После каждого матча записывается его длительность в минутах. Напиши программу, которая:

  1. Вычисляет среднюю длительность матчей, которые длились более 30 минут (с точностью два знака после точки).
  2. Определяет количество коротких матчей (10 минут или менее).

Формат входных данных

Первая строка — натуральное число \(N\) (количество матчей, \(1 \le N \le 100\)). Далее \(N\) строк, в каждой — одно целое положительное число (длительность в минутах). Гарантируется, что хотя бы один матч длился более 30 минут.

Формат выходных данных

Две строки: средняя длительность длинных матчей (два знака после точки) и количество коротких матчей.

Python: print(f"{avg:.2f}")

На соревнованиях по прыжкам в длину зафиксированы результаты спортсменов. На вход подаётся число \(N\) — количество спортсменов. Затем вводятся \(N\) целых чисел (каждое с новой строки) — дальность прыжка в сантиметрах.

Программа должна:

  • Собрать все числа в список
  • Отсортировать список по возрастанию
  • Вывести отсортированный список
  • Вывести три наибольших значения (последние 3 элемента отсортированного списка)

Формат входных данных

Первая строка — целое число \(N\) (\(3 \le N \le 20\)).

Следующие \(N\) строк — по одному целому числу (от 100 до 900).

Формат выходных данных

Первая строка — отсортированный список в формате [a, b, c, ...].

Вторая строка — три наибольших значения в формате Топ-3: [x, y, z].

(демо-2025) Учёный решил провести кластеризацию некоторого множества звёзд по их расположению на карте звёздного неба. Кластер звёзд – это набор звёзд (точек) на графике, лежащий внутри прямоугольника высотой H и шириной W. Каждая звезда обязательно принадлежит только одному из кластеров.
Истинный центр кластера, или центроид, – это одна из звёзд на графике, сумма расстояний от которой до всех остальных звёзд кластера минимальна. Под расстоянием понимается расстояние Евклида между двумя точками A(x1, y1) и B(x2, y2) на плоскости, которое вычисляется по формуле:  \(d(A, B) = \sqrt{((x_2-x_1)^2+(y_2-y_1)^2}\)

Входные данные
В файле A хранятся данные о звёздах двух кластеров, где H=3, W=3 для каждого кластера. В каждой строке записана информация о расположении на карте одной звезды: сначала координата x, затем координата y. Значения даны в условных единицах. Известно, что количество звёзд не превышает 1000.
В файле Б хранятся данные о звёздах трёх кластеров, где H=3, W=3 для каждого кластера. Известно, что количество звёзд не превышает 10 000. Структура хранения информации о звездах в файле Б аналогична файлу А. 
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров.

Выходные данные
В ответе запишите четыре числа: в первой строке сначала целую часть абсолютного значения произведения Px × 10 000, затем целую часть абсолютного значения произведения Py × 10 000 для файла А, во второй строке – аналогичные данные для файла Б.
Возможные данные одного из файлов иллюстрированы графиком.

16.2#91938

Дана последовательность натуральных чисел, оканчивающаяся нулём. Подсчитайте, сколько из них в шестнадцатеричной записи являются трёхзначными и оканчиваются на D.

Формат входных данных

Последовательность натуральных чисел (не более 10000), каждое в отдельной строке, завершается нулём.

Формат выходных данных

Одно число -- количество.

 

Дана последовательность целых положительных чисел, оканчивающаяся нулём. Определите наибольший элемент, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой. Если таких нет - выведите NO.

Формат входных данных

Последовательность натуральных чисел (не более 10000), каждое в отдельной строке. Последовательность завершается числом 0.

Формат выходных данных

Одно число или NO.

Примечание

Последняя цифра в 7-ричной СС -- это остаток от деления на 7. Нечётные цифры: 1, 3, 5.

Дана последовательность целых чисел (могут быть отрицательные). Найдите сумму тех элементов, запись абсолютного значения которых в 5-ричной системе оканчивается на 2.

Формат входных данных

В первой строке -- количество чисел N (1 ≤ N ≤ 1000). В следующих N строках -- по одному целому числу (по модулю не более 10000).

Формат выходных данных

Одно число -- сумма. Если подходящих нет -- выведите 0.

Примечание

Число подходит, если |число| mod 5 == 2. Например: |−7| = 7, 7 mod 5 = 2.

Дана последовательность натуральных чисел, оканчивающаяся нулём. Подсчитайте, сколько из них в шестнадцатеричной записи являются трёхзначными и оканчиваются на D.

Формат входных данных

Последовательность натуральных чисел (не более 10000), каждое в отдельной строке, завершается нулём.

Формат выходных данных

Одно число -- количество.

Примечание

Трёхзначное hex-число: от 10016=256 до FFF16=4095. Цифра D16=1310, последняя цифра = остаток от деления на 16.

Поделиться
Класснуть