![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Chester |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Репутация: ![]() ![]() ![]() |
Решать задачу за меня никого не прошу, прошу помочь ;) и вообще пора переходить на обсуждени есложных программ
![]() Программа не из легких, мне кажется. Итак, есть список преподавателей (1 препод. ведет 1 предмет), классов. Условия: есть максимальное кол-во часов в которое учитель может работать с таким-то классом в неделю, ограничения по дням недели (может работать только во вторник, или ,например, все дни кроме среды), кол-во часов которое он может работать в одном классе в день (пусть например, 2). ну там конечно еще условий дофига, но я хотел бы чтобы мне сначала посоветовали, как делать это. Жду идей ![]() Сообщение отредактировано: Chester - 13.03.2004 17:25 |
![]() ![]() |
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Возможно, пройдет метод на динамическом программировании. Будет рекурсивная процедура примерно такого плана:
Код procedure make_shed; if возможно добавить предмет (есть время в учебном плане) then for i := 1 to n do if i-й учитель свободен в первый же незанятый день, begin добавить этого учителя (точнее, его предмет) make_shed; убрать этого учителя, чтобы попытаться сунуть другого end; else получено расписание -- выйти из всех этих процедур end; Фактически тут идет полный перебор всех вариантов =( А массив с расписанием, может, сделать плоским? (то есть примерно как расписание, которое в школе висит -- двумерная матрица, а не трехмерная =) ) -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
![]() ![]() |
![]() |
Текстовая версия | 2.08.2025 3:54 |