В файле содержится информация о совокупности 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 |
Определите максимальное количество процессов, которые могут начаться не ранее чем с 8-й мс от начала отсчёта. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Например, для приведённой таблицы максимальное количество процессов, которые могут начаться не ранее чем с 6-й мс, равно 2. Это процессы 3 (начинается с 8-й мс) и 5 (наяинается с 6-й мс).
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
Файл