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