Найти в Дзене
47 подписчиков

Комбинаторика.

Загадка Джейсона Стэтхема из Яндекс.Практикум:
Кто держит зебру?

1. На улице стоят пять домов.
2. Англичанин живёт в красном доме.
3. У испанца есть собака.
4. В зелёном доме пьют кофе.
5. Украинец пьёт чай.
6. Зелёный дом стоит сразу справа от белого дома.
7. Тот, кто майнит Bitcoin, разводит улиток.
8. В жёлтом доме майнят Ethereum.
9. В центральном доме пьют молоко.
10. Норвежец живёт в первом доме.
11. Сосед того, кто майнит Stellar, держит лису.
12. В доме по соседству с тем, в котором держат лошадь, майнят Ethereum.
13. Тот, кто майнит IOTA, пьёт апельсиновый сок.
14. Японец майнит Monero.
15. Норвежец живёт рядом с синим домом.

Кто держит зебру?
Кто пьёт воду?

Решение пошаговое. Отличается от решения Яндекса.

ключевые методы решения таких логических головоломок с ограничениями — от простого к сложному.
Метод исключений (твой основной)
Начинай с самых жёстких условий ("центральный дом — молоко", "норвежец в первом") и вычёркивай невозможное в таблице.
Преимущество: Никаких предположений, только дедукция.
Применение: Работает для 80% шагов — как у тебя с цветами и национальностями.
Метод прямых указаний
Используй утверждения вида "X всегда с Y" ("испанец=собака", "японец=Monero").
Фиксируй сразу, затем распространяй исключения. В твоём случае это дало Ethereum в жёлтом доме мгновенно.
Метод соседства
Для условий "рядом/справа от" рисуй связи между домами (1-2, 2-3 и т.д.).
Твой шаг с зелёный-справа-белый и конь-рядом-Ethereum — классика. Всегда проверяй цепочки последовательно.
Метод гипотез (твой "тупик")
Когда дедукция застопорилась (дома 3-5), ставь минимальное предположение (типа "дом 3=Bitcoin"), проверяй и откатывай при противоречии.
Правило: Только 1-2 гипотезы за раз, фиксируй ветвление в таблице. Ты правильно отказался от "З/Л в 1".

Таблицы как основа
Всегда 5x5 сетка (дома x атрибуты). Аббревиатуры ускоряют, но держи легенду рядом.
Твой бойлерплейт (вычёркивание букв) — чистый, понятный код без абстракций.
Общий алгоритм
Собери факты: Пронумеруй условия по силе (абсолют → относительные → исключения).
Построй модель: Таблица с возможными вариантами.
Итерации: Применяй правило → обновляй таблицу → повторяй до однозначности.
Проверка: Подставь ответ в ВСЕ условия.
1 минута