Минимум яблок для удавов: задача теории алгоритмов (8–11 класс, Казицы
Есть удавов, их пасти имеют размеры 1 см, 2 см, ..., см. Каждый удав может заглотить яблоко любого диаметра (в см), не превосходящего размер его пасти. Но по внешнему виду нельзя определить, какая у кого пасть. Вечером смотритель может выдать каждому удаву сколько хочет яблок каких хочет размеров, и за ночь удав заглотит все те из них, что влезают ему в пасть. Какое минимальное количество яблок суммарно смотритель должен вечером выдать удавам, чтобы утром по результату он гарантированно определил размер пасти каждого удава?
Показать ответ
яблок.
Разобрать решение
Если у какого-то яблока диаметр нецелый, увеличим его до ближайшего целого числа, от этого ничего не изменится: например, все удавы одинаково «реагируют» на яблоки диаметра из промежутка (2, 3]. Так добьёмся того, что диаметры всех яблок будут целыми. Оценка. Рассмотрим яблоки диаметра , где 2 ≤ ≤ . Пусть таких яблок не дадут каким-то двум удавам. Пасти этих удавов могут оказаться размером и . Оба удава съедят все меньшие яблоки и оставят все бо́льшие, поэтому этих удавов не различить. Значит, для каждого от 2 до включительно яблок диаметра требуется хотя бы – 1, а всего яблок тогда нужно хотя бы . Пример. Дадим каждому удаву, кроме последнего, яблоки всех диаметров от 2 до включительно. Получив такой набор, удав выдаст размер своей пасти: он равен максимальному радиусу съеденного яблока или 1, если ни одно яблоко не съедено. Размер пасти у последнего удава определим методом исключения.
Обсуждение
0Комментариев пока нет.