Изменения

Перейти к: навигация, поиск

PSumCi

21 байт убрано, 22:15, 4 июня 2016
Псевдокод
=== Псевдокод ===
Итоговым расписанием будет массив <tex>\mathtt{schedule}</tex> где в <tex>\mathtt{schedule[i][j]}</tex> храниться номер работы которую надо исполнить на станке номер <tex>i</tex>, <tex>j</tex>-ой по счёту.
'''function''' getSchedule(jobs p : '''int'''[n]): '''list'''<font color=green'''int'''>// jobs - массив номеров работ отсортированных в порядке невозрастания p[im].</font> '''listPair'''<'''int''','''int'''> schedulejobs[mn] <font color=green> // Заведём список работ для каждого станка. Ответ будет храниться в нём.</font><br>
'''for''' i = 0 '''to''' n
schedulejobs[i] = <tex>\langle</tex>p[i mod m], i<tex>\rangle</tex> <font color=green>// Создаём пары для востановления номера работы после сортировки.push</font> sort(jobs[i]) <font color=green>// Cтавим i-ую Cортируем массив в порядке уменьшения p[i] работу на станок i mod m в конец.</font><br> '''list'''<'''int'''> schedule[m] <font color=green>// Заметим что расписание Заведём список работ для каждого станка получилось перевёрнутым.<br> // Поэтому развернём расписание для каждого станкаОтвет будет храниться в нём.</font> '''for''' i = 0 '''to''' mn schedule[imod m].reversepushFront(jobs[i].second)<font color=green>// Cтавим i-ую в порядке уменьшения p[i] работу на станок i mod m в конец.</font><br>
'''return''' schedule
Анонимный участник

Навигация