Как найти кота?
easy

Как найти кота?

Есть 5 коробок и в одной из них он сидит.

Во время переезда в квартире появилось 5 пустых коробок, и кот стал в них спать.  На каждой коробке написана своя цифра, от 1 до 5, а сами коробки стоят в ряд по порядку.

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

Есть ли такая стратегия, чтобы гарантированно найти кота в какое-нибудь утро, если мы не знаем, в какую коробку он пошёл спать в первую ночь?

Не ищите логику, давайте просто решать.

Так как кот всегда переходит в соседнюю коробку, то он по очереди спит в чётных и нечётных коробках. Используем это при решении.

Кот начал с чётной коробки

Это значит, что в первую ночь кот уснул в коробке 2 или 4. Допустим, мы утром открываем коробку 2. Если кот там — мы выиграли. Если кота там нет, значит, он точно в коробке 4. А раз он точно в коробке 4, значит, следующей ночью он пойдёт  спать в коробку 3 или 5.

Вторым утром проверяем коробку 3. Если кот спит там — мы выиграли. Если кота там нет, значит, он спит в коробке 5. А это значит, что следующей ночью он точно будет спать в коробке 4, потому что у коробки 5 нет других соседей. 

На третье утро открываем коробку 4 и находим кота. Победа.

Кот начал с нечётной коробки

Если мы прошли наш алгоритм 2–3–4 и не нашли кота, это значит, что он начал спать с нечётной коробки. Получается, что в первое утро кот спал в нечётной, во второе — в чётной, а в третье — снова в нечётной. Выходит, что на четвёртое утро кот снова будет в чётной коробке — 2 или 4. 

Но у нас уже есть стратегия нахождения кота в чётных коробках, мы только что её описали в предыдущем разделе. Значит, нам достаточно применить её ещё раз и снова открыть по утрам коробки 2, 3 и 4, чтобы точно найти кота.

Зачем искать котов?

Котов — незачем. Коты, когда захотят, сами найдутся. 

Но строить логически непротиворечивые и экономичные алгоритмы — это хлеб разработчиков. Развивайте алгоритмическую мышцу, и станете алгоритмическим качком.

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
Задача про таблетки и злого гения
Задача про таблетки и злого гения

Как логика и ограничения помогают найти банку с отравленными таблетками.

medium
Задача про секс и математику
Задача про секс и математику

Могут ли логика, математика и статистика привести к созданию новой крепкой семьи?

medium
Задача про безумного рекрутера и большой офис
Задача про безумного рекрутера и большой офис

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

easy
Задача про номер дома
Задача про номер дома

Диалог программистов с зубодробительной логикой

medium
Задача про спикеров: в каком порядке выступать, чтобы оно прошло успешно?
Задача про спикеров: в каком порядке выступать, чтобы оно прошло успешно?

Считаем вероятности и добавляем других спикеров

easy
Задача Эйнштейна
Задача Эйнштейна

Учёный утверждал, что только 2% людей могут решить в уме эту задачу (так говорят в Википедии).

hard
Как заполнить продуктами целый шкаф
Как заполнить продуктами целый шкаф

Это сложно, но можно

medium
Задача про вычёркивание цифр
Задача про вычёркивание цифр

Задача про цветной кубик
Задача про цветной кубик

Раскрась кубик правильно.

easy
easy
[anycomment]