Я архитектор небоскреба, и у меня есть возможность переставить этажи в этом здании.Новый менеджер заявил, что типы этажей вышли из строя, и хотел бы, чтобы все этажи были сгруппированы (офис, магазины, жилые помещения, еда и т. Д.).
Метод, которым я могу перемещать этажи,вставка: я могу удалить один этаж (этажи выше падают на один этаж) и расположить этот этаж между другими этажами (этажи выше поднимаются на один этаж).Вставка происходит только один раз за раз (я не могу переместить два этажа одновременно).
Создайте оптимальный алгоритм, который использует наименьшее количество вставок.Сравнения бесплатны.
Редактировать: Это не домашняя работа, это игра, в которую я играл, и я пытаюсь обобщить стратегию.Пожалуйста, прокомментируйте, почему за него проголосовали, я просто пытаюсь решить причудливую проблему.