Войти Создать аккаунт

Как в ЕГЭ · 11 из 28

№22. Параллельные процессы

По мотивам задания №22. Программа запускает несколько процессов. Каждый длится известное время и может начаться только после того, как закончились все процессы, от которых он зависит. Независимые процессы идут одновременно, и ограничений на их число нет. Спрашивают, через сколько миллисекунд закончится всё.

Что сделать

Посчитайте, через сколько миллисекунд закончатся все процессы, если каждый стартует, как только дождётся своих.

Что приходит

  • processy — словарь «номер → (длительность, [номера, которых он ждёт])»

Что вернуть

Наименьшее время, к которому закончатся все процессы, числом; процессов нет — 0.

Допишите функцию vremya_vseh в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

Процесс 1 длится 4 мс и никого не ждёт, процесс 2 длится 3 мс и ждёт процесс 1, процесс 3 длится 2 мс и никого не ждёт. Третий заканчивается на 2-й мс, первый — на 4-й, второй стартует на 4-й и заканчивается на 7-й: ответ 7.

Тот же пример кодом
Вызов
vremya_vseh({1: (4, []), 2: (3, [1]), 3: (2, [])})
Вернуть
7
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.