Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №22
  • Задание №22
  • Задание №61591 ЕГЭ Информатике

    Условие задания #61591

    №22 по КИМ

    В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно.

    Информация о процессах представлена в файле в виде таблицы. В первой строке таблицы указан идентификатор процесса (ID), во второй строке таблицы  — время его выполнения в миллисекундах, в третьей строке перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0. 

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

    22 (2).xlsx

    Ответ

    Ответ:

    211

    Решение

    Отсортируем данные в таблице так, чтобы все независимые процессы оказались в начале таблицы. Также в таблицу добавим столбец «Время окончания процесса» и запишем туда длительности независимых процессов.

    Далее рассчитаем время выполнения оставшихся процессов:

    f(8)  =  20 + f(1)  =  20 + 22  =  42;

    f(5)  =  28 + f(4)  =  28 + 40  =  68;

    f(19)  =  34 + f(4)  =  34 + 40  =  74;

    f(7)  =  36 + f(5)  =  36 + 68  =  104;

    f(10)  =  35 + f(7)  =  35 + 104  =  139;

    f(11)  =  32 + f(9)  =  32 + 149  =  181;

    f(15)  =  21 + f(9)  =  21 + 149  =  170;

    f(20)  =  27 + f(12)  =  27 + 34  =  61;

    f(17)  =  32 +  f(13)  =  32 + 176  =  208;

    f(3)  =  27 + f(14)  =  27 + 100  =  127;

    f(6)  =  30 + max(f(1), f(10), f(11), f(15))  =  30 + 181  =  211;

    f(9)  =  22 + max(f(1),f(3), f(4))  =  22 + 127  =  149;

    f(13)  =  37 + max(f(10), f(12))  =  37 + 139  =  176;

    f(14)  =  26 + max(f(19), f(20))  =  26 + 74  =  100;

    f(16)  =  28 + max(f(14), f(18))  =  28 + 100  =  128.

    Видеоразбор:

    Понятно ли решение?

    Похожие задания

    15
    Задание №59088Задание №56773Задание №49068Задание №49066Задание №49064Задание №49055Задание №49063Задание №49061Задание №49060Задание №49057Задание №49053Задание №49056Задание №49052Задание №49372Задание №49051
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме