Задача типа #22: Многопоточные вычисления
Многопоточные вычисления
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно.
Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые параллельно выполняются на 15-й мс.
Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Алгоритм решения: Задачу лучше решать с использованием табличного редактора. Необходимо внести таблицу (расчётом через формулы) время окончания и, при необходимости, начала каждого процесса с учётом окончания всех зависимых процессов. Возможно другое решение.
Посмотреть решение задачи (код на Python) в Telegram боте по ID задачи 122009