Библиотека задач / Алгоритмы

Школьники и взрослые

Два яйца и сто этажей

Условие

Есть 22 одинаковых яйца и здание в 100100 этажей. Существует неизвестный порог FF от 00 до 100100: с этажей не выше FF яйцо цело, выше FF разбивается. Целое можно бросать снова. Какое минимальное число бросков гарантирует нахождение FF в худшем случае?

О задаче · Школьники и взрослые
Тема
Алгоритмы
Для кого
Школьники и взрослые
Уровень библиотеки
Продвинутый · ориентир
Записать идею

Личный черновик для заметок и расчётов. Он никуда не отправляется и не проверяется.

Подсказка 1

После первого разбитого яйца проверять оставшийся промежуток придётся по одному этажу снизу.

Подсказка 2

Чтобы общий лимит не рос, делайте очередной прыжок на один этаж короче.

Разобрать решение по шагам
01

Уравняйте худшие случаи

Если лимит 1414, первый бросок можно сделать с 1414-го. При разбитии останется 1313 бросков для этажей 11–1313.

02

Сокращайте прыжок

Если яйцо цело, следующий этаж — 2727: между 1414 и 2727 только 1212 непроверенных этажей, а два броска уже потрачены. Затем 3939 и так далее.

03

Докажите минимум

При mm бросках и двух яйцах можно проверить не больше m+(m−1)+⋯+1m+(m-1)+\cdots+1 этажей: первый прыжок не длиннее mm, иначе после разбития не хватит бросков. 13⋅142=91<100\frac{13\cdot14}{2}=91<100, а 14⋅152=105≥100\frac{14\cdot15}{2}=105\ge100. Ответ 1414.

Этажи для первого яйца
0114 → 27 → 39шаги 14, 13, 12
0250 → 60 → 69шаги 11, 10, 9
0377 → 84 → 90 → 95 → 99 → 100шаги продолжают уменьшаться
Ответ

1414 бросков в худшем случае.

Главная идея

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

Как заметить эту идею в другой задаче

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

Возможная ошибка

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

Источник и примечания

Источник и редакция

Классическая задача. Формулировка, рисунки и разбор — Popov Academy.

Проверь себя

Сколько бросков достаточно и необходимо для 3636 этажей и двух яиц?

Ответ к дополнительной задаче

88: сумма 11 + … + 8=368 = 36, а 11 + … + 7=287 = 28.

Продолжить тему: Поиск и алгоритмы →
Учебная схема

Popov Academy · Библиотека задач

Два яйца и сто этажей

https://popov.academy/library/two-eggs/

Условие

Есть 22 одинаковых яйца и здание в 100100 этажей. Существует неизвестный порог FF от 00 до 100100: с этажей не выше FF яйцо цело, выше FF разбивается. Целое можно бросать снова. Какое минимальное число бросков гарантирует нахождение FF в худшем случае?

Дополнительная задача

Сколько бросков достаточно и необходимо для 3636 этажей и двух яиц?