Все задачи №22
№22

Завершатся за первые 21 мс

Таблица процессов: ID, время (мс), зависимости через «;» (0 — нет). Процесс стартует сразу после окончания самого позднего из тех, от кого зависит. Нумерация мс с 1. Найди максимальное количество процессов, которые могут быть завершены за первые 21 мс.

Источник: ФИПИ, № 31158

Скачать файл: task_31158_A.ods. Решай в Excel или LibreOffice.

Ответвпиши то, что получилось
Показать разбор
  1. Открой файл. Раздели третий столбец по «;» на отдельные столбцы: Данные → Текст по столбцам, разделитель «;». Пустые ячейки зависимостей заполни нулём.
  2. Вставь над процессами строку с ID 0 и нулями во всех столбцах. Тогда ВПР на зависимость 0 вернёт конец 0, а не ошибку.
  3. Добавь столбцы «начало» и «конец». В начале напиши =МАКС(ВПР(зав1;таблица;столбец_конца;0);ВПР(зав2;таблица;столбец_конца;0);…) по одному ВПР на каждый столбец зависимостей. Таблицу закрепи через $, последний аргумент ВПР равен 0.
  4. В конце напиши = начало + время. Протяни обе формулы вниз. Если программа пишет про циклическую ссылку, включи итеративные вычисления в настройках.
  5. Процесс успел завершиться, если его конец не позже 21. Посчитай: =СЧЁТЕСЛИ(конец;"<=21"). Строку с ID 0 в диапазон не включай, у неё конец тоже равен 0.