Составить расписание академических занятий. Примерные требования:
Входные данные:
- список групп (уникальных)
- список преподавателей (уникальных)
- список предметов (уникальных)
список аудиторий (уникальных)
список троек группа-предмет-парВНеделю
список пар преподаватель-предмет
список пар преподаватель-maxПарВНеделю
список кортежей преподователь-день-периодВремени-степеньВозможност0-10
список кортежей аудитория-доступныйПериодВремени
Выходные данные -- расписание в форме:
- время-аудитория-группа-преподаватель-предмет
Учесть:
- комплект преподаватель-предмет-группа неразбиваем и разные занятия максимально равномерно разнесены по времени (мин. единица -- пара)
- степеньВозможности = 0 означает полную невозможность использовать данный период
- неуказанная степеньВозможности означает 10
- парВНеделю для группы должно быть соблюдено точно
- maxПарВНеделе для преподавателя не должно быть превышено
- группа в один период времени может быть в одной аудитории, с одним преподавателем, заниматься одним предметом
- преподаватель в один период времени может быть только с одной группой
- аудитория в один период времени может быть занята одной группой