Задание №22. Выполнение последовательных и параллельных процессов | Логилея

Задание №22. Выполнение последовательных и параллельных процессов

№ 5MXKFN (Уровень сложности: Средний)
В  файле  содержится  информация  о  совокупности  N  вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса  не допускается. Будем говорить, что процесс  B  зависит  от  процесса  A,  если  для  выполнения  процесса  B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. 
Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0. 

Определите  максимальное  количество  процессов,  которые  могут  быть завершены  за  первые  17 мс.  Считать,  что  каждый  процесс  начинается  в самое раннее допустимое время. Нумерация миллисекунд начинается с 1. 

Типовой пример организации данных в файле приведён в приложении. 
Типовой  пример  организации  данных  во  входном  файле  приводится только в демонстрационном варианте ЕГЭ! 
Файлы к заданию:
№ 1MDY54 (Уровень сложности: Повышенный)

В файле содержится информация о совокупности 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

 

Определите максимальное количество процессов, которые могут быть завершены за первые 17 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.

Например, для приведённой таблицы найдём количество процессов, которые могут быть завершены за первые 7 мс. Это 3 процесса (за это время завершатся процессы 1, 2 и 4).

Файлы к заданию: