1. Главная
  2. Библиотека
  3. Менеджмент
  4. Програмистка Лина решила сменить свою профессию и образ...
Разбор задачи

Програмистка Лина решила сменить свою профессию и образ жизни. Без долгих раздумий Лина переехала в Париж и устроилось на работу посудомойкой в маленьком ресторане. Чтобы получать больше удовольствия во время перерывов Лина принесла кофейник. В течение

  • Предмет: Менеджмент
  • Автор: Кэмп
  • #Управление проектами
  • #Управление эффективностью бизнес-процессов
Програмистка Лина решила сменить свою профессию и образ жизни. Без долгих раздумий Лина переехала в Париж и устроилось на работу посудомойкой в маленьком ресторане. Чтобы получать больше удовольствия во время перерывов Лина принесла кофейник. В течение

Условие:

Програмистка Лина решила сменить свою профессию и образ жизни. Без долгих раздумий Лина переехала в Париж и устроилось на работу посудомойкой в маленьком ресторане. Чтобы получать больше удовольствия во время перерывов Лина принесла кофейник.

В течение обеда Лине передают грязные тарелки через маленькое окошко. В ресторане всего K различных видов тарелок, и Лина их складывает в K стопок. Когда Лина получает новую тарелку, она ее моет, затем быстро сушит, и после этого в зависимости от размера тарелки кладёт её в соответствующую стопку.

Поскольку в ресторанчике мало комнат, Лина держит кофейник в этой же комнате на вершине одной из стопок. Если Лина хочет поставить тарелку на стопку, где стоит кофейник, ей приходиться перемещать его на другую стопку.

Лина не может перестать думать о том, что зная порядок поступления тарелок, она могла переставлять кофейник реже. Требуется найти наименьшее количество перестановок кофейника, если и изначально он мог находиться на любой стопке.

Входные данные Первая строка содержит два натуральных числа: количество тарелок N ≤ 106 и количество стопок K ≤ 109. Следующие N строк содержат по одному целому числу 1 ≤ ai ≤ K – номер стопки на которую должна быть поставлена i-ая тарелка.

Выходные данные Выведите одно число, минимально возможное количество перестановок кофейника.

Решение:

Ниже приведено подробное рассуждение и реализация решения на языке c++.

Задача сводится к следующему: имеется последовательность из N тарелок, каждая должна быть положена на стопку с номером a[i] (при этом существует в ресторане K стопок). На одной из стопок сверху находится кофейник. Если очередная тарелка должна ложиться на ту стопку, где в данный момент находится кофейник, то перед тем как положить тарелку Лина обязана переместить кофейник на какую‑то другую стопку (любую, отличную от текущей). При этом можно заранее выбрать, на какой стопке разместить кофейник, и при каждом...

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

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой подход используется для минимизации перемещений кофейника, когда тарелка должна быть поставлена на стопку, где он находится?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет