Задача #1122
Процессы
(М. Шагитов) В файле хранится информация о сборке N компонентов, которые могут быть собраны параллельно или последовательно. Будем говорить, что компонент B включает в себя компонент A, если для сборки компонента B требуются детали, полученные при сборке компонента A. В этом случае компоненты могут быть собраны только последовательно. Информация о компонентах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор компонента (ID), во втором столбце таблицы – время его сборки в минутах, в третьем столбце перечислены с разделителем «;» ID компонентов, которые включены в этот компонент. Если компонент является независимым, то в таблице указано значение 0.
Типовой пример организации данных в файле:
| ID компонента B | Время сборки компонента B (мин) | ID компонента(-ов) |
| 1 | 4 | 0 |
| 2 | 3 | 0 |
| 3 | 1 | 1; 2 |
| 4 | 7 | 3 |
Определите минимальное время, через которое может завершиться сборка всех компонентов, при условии, что все компоненты, не включающие в себя другие, могут собираться параллельно.