Вложенные структуры · 16 из 16
Когда свободен спортзал
Шахматный клуб просит у школы спортзал на час после обеда, а секция волейбола — на перемены. Завуч Ирина Павловна держит расписание по классам: у каждого класса — дни недели, у каждого дня — список уроков. Физкультура бывает у двух классов сразу, а у некоторых классов в какие-то дни уроков нет вовсе. Нужно найти, когда зал свободен достаточно долго, чтобы туда кого-то пустить.
Что сделать
Найдите в школьном дне окна не короче 45 минут, когда в спортзале нет физкультуры ни у одного класса.
Что приходит
raspisanie— словарь: класс → словарь «день недели → список уроков»; урок — словарь с ключами"predmet","nachalo"и"konec"den— какой день смотреть, например"ср"
Что вернуть
Список окон (с, до) в минутах от полуночи — по порядку.
Допишите функцию svobodnyy_zal в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
У 5А в понедельник одна физкультура, с 540 до 585 минуты — с 9:00 до 9:45. Школьный день — с 8:00 до 15:00, с 480 до 900. До урока зал свободен час, после — до конца дня: [(480, 540), (585, 900)].
svobodnyy_zal({"5А": {"пн": [{"predmet": "физкультура", "nachalo": 540, "konec": 585}]}}, "пн")
[(480, 540), (585, 900)]
Школьный день — с 480 до 900 минуты (8:00–15:00). Спортзал занят уроком, у которого "predmet" — "физкультура", с "nachalo" до "konec" (не включая "konec"). Остальные уроки зал не занимают. Физкультура у двух классов может идти в одно время и внахлёст: зал занят, пока не кончится последняя из них. Окно — промежуток дня без физкультуры длиной не меньше 45 минут; окно ровно в 45 минут годится. Окна — по возрастанию. У класса может не быть этого дня вовсе — значит, уроков у него в этот день нет. Уроки всегда внутри школьного дня, в списке — в любом порядке.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.