Процессы зависят друг от друга и могут выполняться параллельно. Нужно найти время завершения всех процессов, одного процесса или количество процессов, завершённых к моменту T. К каждому варианту — файл .xlsx.
Главная формула
Завершение(B) = время(B) + max(завершение A по всем A, от которых зависит B).
Независимый процесс завершается через своё время.
Как считать
Добавить столбец «Время завершения».
Заполнить его так, чтобы зависимости были уже посчитаны.
Ответ: максимум столбца, нужное значение или количество значений ≤ T.
Типичные ошибки
Сложить времена зависимостей вместо максимума.
Считать «за первые T мс» строго меньше T — процесс, завершившийся в T-ю мс, подходит.
Разобранные варианты
Сначала реши сам в Excel или на Python, потом открой разбор.
Вариант 1
завершены за 49 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 49 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
6
4
0
4 (независимый)
15
4
0
4 (независимый)
4
5
0
5 (независимый)
13
7
0
7 (независимый)
12
10
0
10 (независимый)
1
13
0
13 (независимый)
Процессов с временем завершения не больше 49 мс — 21.
Ответ: 21
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v1.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(sum(1 for p in time if finish[p] <= 49))
Вариант 2
время всех процессов
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
22
3
0
3 (независимый)
11
4
0
4 (независимый)
15
5
0
5 (независимый)
16
9
0
9 (независимый)
14
11
0
11 (независимый)
1
15
0
15 (независимый)
Всё завершится, когда завершится самый поздний процесс: 67 мс.
Ответ: 67
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v2.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(max(finish.values()))
Вариант 3
завершение процесса
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите, через какое минимальное время (в мс) от начала работы завершится процесс с ID = 9, если все процессы, которые могут выполняться параллельно, выполняются параллельно.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
20
1
0
1 (независимый)
27
2
0
2 (независимый)
1
6
0
6 (независимый)
2
1
1
1 + max(6) = 7
5
1
1;2
1 + max(6, 7) = 8
6
9
0
9 (независимый)
Процесс 9 завершается через 19 мс.
Ответ: 19
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v3.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(finish[9])
Вариант 4
завершены за 20 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 20 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
5
2
0
2 (независимый)
25
2
0
2 (независимый)
17
5
0
5 (независимый)
21
6
0
6 (независимый)
24
2
17
2 + max(5) = 7
3
8
0
8 (независимый)
Процессов с временем завершения не больше 20 мс — 19.
Ответ: 19
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v4.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(sum(1 for p in time if finish[p] <= 20))
Вариант 5
время всех процессов
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
19
4
0
4 (независимый)
24
5
0
5 (независимый)
11
6
0
6 (независимый)
20
6
0
6 (независимый)
7
9
0
9 (независимый)
21
9
0
9 (независимый)
Всё завершится, когда завершится самый поздний процесс: 70 мс.
Ответ: 70
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v5.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(max(finish.values()))
Вариант 6
завершены за 38 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 38 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
15
1
0
1 (независимый)
1
2
0
2 (независимый)
18
8
0
8 (независимый)
21
7
15
7 + max(1) = 8
8
9
0
9 (независимый)
14
11
0
11 (независимый)
Процессов с временем завершения не больше 38 мс — 10.
Ответ: 10
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v6.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(sum(1 for p in time if finish[p] <= 38))
Вариант 7
завершение процесса
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите, через какое минимальное время (в мс) от начала работы завершится процесс с ID = 6, если все процессы, которые могут выполняться параллельно, выполняются параллельно.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
9
4
0
4 (независимый)
1
6
0
6 (независимый)
11
6
0
6 (независимый)
10
8
0
8 (независимый)
25
11
0
11 (независимый)
2
6
1
6 + max(6) = 12
Процесс 6 завершается через 50 мс.
Ответ: 50
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v7.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(finish[6])
Вариант 8
завершены за 25 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 25 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
3
1
0
1 (независимый)
16
4
0
4 (независимый)
12
9
0
9 (независимый)
21
9
0
9 (независимый)
1
10
0
10 (независимый)
2
12
0
12 (независимый)
Процессов с временем завершения не больше 25 мс — 15.
Ответ: 15
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v8.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(sum(1 for p in time if finish[p] <= 25))
Вариант 9
время всех процессов
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
18
2
0
2 (независимый)
3
5
0
5 (независимый)
5
6
0
6 (независимый)
1
7
0
7 (независимый)
15
8
0
8 (независимый)
2
3
1
3 + max(7) = 10
Всё завершится, когда завершится самый поздний процесс: 36 мс.
Ответ: 36
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v9.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(max(finish.values()))
Вариант 10
завершены за 29 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 29 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
Идея. Каждый процесс начинается, как только завершились все процессы, от которых он зависит. Поэтому время завершения = собственное время + наибольшее время завершения среди процессов-зависимостей (для независимого — просто собственное время).
В электронной таблице добавляем столбец «Время завершения» и заполняем его сверху вниз: для строки с зависимостями «2;4» формула =B5+МАКС(D3;D5) — ссылки на завершения процессов 2 и 4.
Первые завершившиеся процессы:
ID
Время
Зависит от
Завершение
6
1
0
1 (независимый)
22
3
0
3 (независимый)
18
4
0
4 (независимый)
24
5
0
5 (независимый)
1
7
0
7 (независимый)
4
1
1
1 + max(7) = 8
Процессов с временем завершения не больше 29 мс — 12.
Ответ: 12
Решение на Python. Положите файл рядом с программой (нужна библиотека openpyxl).
from openpyxl import load_workbook
ws = load_workbook('Ege22_v10.xlsx').active
time, deps = {}, {}
for pid, t, d in ws.iter_rows(min_row=2, values_only=True):
time[pid] = t
deps[pid] = [int(x) for x in str(d).split(';') if int(x) != 0]
finish = {}
def fin(p): # время завершения процесса p при самом раннем старте
if p not in finish:
finish[p] = time[p] + max((fin(q) for q in deps[p]), default=0)
return finish[p]
for p in time:
fin(p)
print(sum(1 for p in time if finish[p] <= 29))
Для самостоятельного решения
Варианты 11–15 без разборов. Ответ можно проверить кнопкой.
Вариант 11
завершены за 11 мс
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 11 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите, через какое минимальное время (в мс) от начала работы завершится процесс с ID = 6, если все процессы, которые могут выполняться параллельно, выполняются параллельно.
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно.
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите максимальное количество процессов, которые могут быть завершены за первые 22 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.
Определите, через какое минимальное время (в мс) от начала работы завершится процесс с ID = 13, если все процессы, которые могут выполняться параллельно, выполняются параллельно.