Задание выполняется с использованием прилагаемого файла.
В файле содержится информация о совокупности $N$ вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс $B$ зависит от процесса $A$, если для выполнения процесса $B$ необходимы результаты выполнения процесса $A$. В этом случае процессы $A$ и $B$ могут выполняться только последовательно.
Информация о процессах представлена в файле в виде таблицы. В первом столбце указан ID процесса, во втором — время его выполнения в миллисекундах, в третьем через ; перечислены ID процессов, от которых зависит данный процесс. Для независимого процесса в третьем столбце указано 0.
Типовой пример организации данных в файле:
| ID процесса B | Время выполнения процесса B (мс) | ID процесса(-ов) A |
|---|---|---|
| 1 | 3 | 0 |
| 2 | 4 | 1 |
| 3 | 2 | 2; 4 |
| 4 | 5 | 0 |
| 5 | 8 | 1; 4 |
| 6 | 3 | 1 |
Для приведённой таблицы процесс 3 начинается на 8-й мс, заканчивается на 9-й мс.
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
Определите максимальное количество процессов, которые параллельно выполняются на 7-й мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Файлы к заданию:
?
Пробел + перетаскивание — двигать доску
Shift + клик — добавить или убрать объект
Ctrl/⌘ A — выделить всё
Ctrl/⌘ C / V — копировать / вставить
Ctrl/⌘ D — дублировать
↑ ↓ ← → — сдвинуть, с Shift — на 10
Shift при рисовании — ровная фигура
Esc — снять выделение