Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-13 / 0 / 0
Регистрация: 12.11.2023
Сообщений: 41

Задача "Лекции"

30.12.2024, 19:01. Показов 572. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Маша учится в школе, но безумно любит посещать открытые лекции в МГТУ им. Н.Э. Баумана. Маша старается всегда использовать своё свободное время максимально продуктивно, потому она заранее скачивает расписание преподавателей, чтобы посетить по лекции минимум 50% преподавателей в день, которые она выбрала.

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

Но иногда преподаватели разбросаны по расписанию очень сильно, иногда их время пересекается с другими. Поэтому Маше нужна помощь, чтобы по входному расписанию преподавателей определить, во сколько ей нужно быть в университете, чтобы посетить лекции минимум 50% преподавателей (если преподавателей нечётное количество, то округляем вверх (1 округляется до 1, 3 до 2 и так далее), а также провести минимальное количество времени в ожидании между лекциями (если они не подряд).



Входные данные:
На первой строке подаётся целое число N (1 <= N <= 100) – количество преподавателей, на лекции которых хочет сходить Маша.
Далее подаётся N наборов строк в виде:
  • на одной строке указывается количество занятий для i-го преподавателя N_i (1 <= N_i <= 50);
  • на N_i строках далее указываются временные промежутки занятий преподавателя (без самопересечений) в виде hh:mm-hh:mm (например, 09:10-10:15).


Выходные данные
  • На первой строке выведите, в какое время начнётся первая пара, на которую придёт Маша.
  • На второй строке выведите общее количество в минутах, которое Маша проведёт на лекциях.
  • На третьей строке выведите общее количество в минутах, которое Маша проведёт между лекциями.




Примечание:

  • для удобства расчёта считаем, что путь с одной лекции до другой не занимает времени;
  • время лекции у одного преподавателя всегда одинаковое;
  • гарантируется, что Маша сможет посетить лекцию минимум 50% преподавателей;
  • если задача имеет несколько ответов, то вывести тот, при котором Маша приедет как можно раньше;
  • Маша пытается приехать как можно раньше, поэтому, как только она посетит 50% преподавателей, то она может уезжать домой, но приоритетом в задаче является в первую очередь минимальное время проведённое в ожидании между занятиями.



Входные данные
3
2
10:05-11:50
17:00-18:45
1
11:45-12:30
2
13:00-14:00
16:00-17:00

Выходные данные
10:05
145
0


Маше требуется посетить лекции 50% преподавателей, поэтому достаточно посетить 2 преподавателей. Маша пытается найти самое минимальное время для ожидания между занятиями. В данном случае возможны два варианта, когда Маша проведёт между занятиями 0 минут времени:
  • посетив лекцию третьего преподавателя 16:00-17:00 и первого 17:00-18:45;
  • посетив лекцию первого преподавателя 10:05-11:50 и второго 11:45-12:30.

Так как время ожидания между лекциями одинаковое, то выбираем тот вариант, при котором Маша приедет как можно раньше – 10:05.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2024, 19:01
Ответы с готовыми решениями:

Перерыв на лекции
В школе, где учится Света, организуют научно-популярную лекцию для учащихся. Известно время начала и окончания лекции (часы и минуты). В...

На лекции дали пример решения задач, но он не работает
def __init__(self): super(Child,self).__init__(self) class A(object): def __init__(self): print(u'конструктор...

Пояснения экспертов, Лекции и др. Разъяснения Важных деталей или Частых проблем
Хотелось бы выкладывать тут ссылки на добротные, ёмкие, детальные или короткие но полезные лекции \ выступления \ презентации людей которые...

1
8 / 7 / 1
Регистрация: 23.07.2024
Сообщений: 91
04.01.2025, 12:17
А вопрос то в чём?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2025, 12:17
Помогаю со студенческими работами здесь

Найти условную вероятность. Задача про посещение лекции
Вероятность застать Васю на лекции зависит от того, пришли ли на лекцию Маша и Алена. Данная вероятность равна 0.18, если девушек нет. 0.9...

Лекции по БД.
К экзамену нужно освятить такие темы: 1. Основные задачи этапа эксплуатации БД. 2. Основные функции СУБД. 3. Структура рынка БД. 4....

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

Лекции по теме
Доброго всем времени суток. Помогите пожалуйста найти материал по теме &quot;Навигация в мультимедиа продуктах&quot;. Все что выдает поисковик...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru