Приветствую Вас, уважаемые любители логических игр. Сейчас я хочу поделиться с Вами примером игры и решением задачи быки и коровы. В другой статье я описал общие концепции и немного теории. Но в ней проблема изложена несколько поверхностно. Теперь же рассмотрим досконально, как и что надо делать.
И так, первый ход он всегда на удачу. Выбираем любые четыре цифры. К примеру 1234.
Получаем ответ две коровы. Что это нам даёт? Мы нашли две цифры, но не знаем какие они и где должны стоят. Не будем пока их трогать и пытаться выяснить кто есть кто. Это будет напрасной тратой драгоценных ходов. Идём дальше и второй вопрос составляем из других цифр. К примеру, 5678.
Мы получили в ответ один бык и одну корову. Хочу сказать, что мы тут молодцы и удача нам улыбается. Нам удалось выявить, что ноль и девять не состоят в загаданном числе. И теперь мы их можем использовать для определения быков! Таким образом у нас с Вами есть два варианта развития дальнейших событий. Это искать быков из первого или второго вопроса. Я выберу первый, так как в этом варианте нет быков и все цифры не на своих местах. Снова скрестим пальцы на удачу. Выберем две цифры и переставим их местами, думаю взять 3 и 4, и поставить их на первое и второе место. И добьём третий вопрос нашими пустышками 0 и 9. Получаем такой вопрос 3490.
Ответ просто волшебный! Два быка. Мы снова угадали 3 и 4 — это и есть быки. Значит единичка и двойка вне игры. Осталось найти вторую пару цифр. Начинаем перебирать цифры с нашего второго вопроса. Возьмём 5 и 7, но поставим их на другие места. Это важный момент — места нужно менять, у нас ведь во втором ответе имеется один бык и есть шанс 25%, что мы этого быка снова поставим на место в третьем вопросе и у нас будет неоднозначность, какая из второй пары цифр точно есть бык. И таким образом получаем четвёртый вопрос — 3457.
Пришёл ответ — два быка и одна корова. Два быка это наши угаданные с третьей попытки 3 и 4. Корова — это одна их цифр 5 или 7. Но мы можем точно определить быка, у нас ведь во втором ответе есть один бык. Пятёрка чтобы быть быком должна стоять на первом месте, а это место у нас занято тройкой. Значит остаётся цифра семь и должна она стоять на третьем месте!
Продолжаем рассуждать дальше. У нас осталось две цифры — шесть и восемь. Что нам о них известно? А то, что во втором ответе одна из них является коровой, то есть стоит не на своём месте. Шестёрка на втором, восьмёрка на четвёртом. У нас свободно осталось только четвёртое место! И если это 8, то у нас возникнет противоречие, так как тогда во втором ответе она должна была быть быком, потому что стоит на четвёртом месте! В ходе таких рассуждений мы абсолютно точно выявили, что цифра шесть это наш четвёртый бык и стоит она на четвёртой позиции. Проверяем: 3476.
И Чудеса! Четыре быка. Поздравляю мы победили!
Здесь рассмотрен вариант решения одиночной игры быки и коровы против компьютера, в который можно сыграть у нас на сайте. Но при игре онлайн против живого противника принцип разгадывания числа ничем не отличается. И я надеюсь, что я Вам помог немного разобраться в принципах игры.
Пожелания, критику или Ваши предложения жду на форуме или на почту.