Библиотека задач / Информация

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

Тысяча бутылок и десять индикаторов

Условие

Среди 10001000 бутылок ровно одна содержит примесь. Есть 1010 одноразовых индикаторов: каждый через сутки покажет, была ли примесь хотя бы в одной нанесённой капле. Капли можно смешивать, чувствительность идеальна. Разрешён только один одновременный раунд. Как определить бутылку?

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

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

Подсказка 1

У десяти индикаторов 2102^{10} разных комбинаций ответов.

Подсказка 2

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

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

Пронумеруйте 00–999999

Для каждого номера хватит десяти двоичных разрядов, потому что 210=10242^{10}=1024.

02

Подготовьте смеси

На индикатор разряда kk нанесите капли из всех бутылок, где этот разряд равен 11. Один образец может попасть на несколько индикаторов.

03

Прочитайте ответ

Сработавшие индикаторы составят двоичную запись испорченной бутылки. Если не сработал ни один, это № 00: существование ровно одной плохой бутылки гарантировано.

Номер превращается в инструкцию
01№ 13двоичная запись 0000001101
021 + 4 + 8эти индикаторы получают каплю
030000001101обратное чтение даёт номер 13
Ответ

1010 индикаторов, назначенных десяти двоичным разрядам.

Главная идея

Продуманное кодирование превращает поиск объекта в чтение его адреса.

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

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

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

Разделить бутылки на десять непересекающихся групп: результат укажет лишь группу, а не бутылку.

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

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

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

Проверь себя

Какое минимальное число таких индикаторов нужно для 100100 бутылок?

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

Нужно 77 индикаторов:

26=64<100≤128=27.2^6=64<100\le128=2^7.

Шести двоичных результатов недостаточно, а семи хватит.

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

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

Тысяча бутылок и десять индикаторов

https://popov.academy/library/binary-bottles/

Условие

Среди 10001000 бутылок ровно одна содержит примесь. Есть 1010 одноразовых индикаторов: каждый через сутки покажет, была ли примесь хотя бы в одной нанесённой капле. Капли можно смешивать, чувствительность идеальна. Разрешён только один одновременный раунд. Как определить бутылку?

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

Какое минимальное число таких индикаторов нужно для 100100 бутылок?