|
Задание выполняется с использованием прилагаемых файлов.
|
В файле содержится информация о совокупности 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).
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
|