С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Быки и коровы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос о типах данных С++ http://www.cyberforum.ru/cpp/thread60672.html
Всем привет! У меня путаница вышла со всем этим разнообразием типов данных в С++. Вообще, тип long double должен занимать 3 машинных слова (или 12 байт). Но вот когда я пишу : #include...
C++ Инициализацию DirectDraw Ув.Программисты помогите пожайлусто. Изучаю книгу "Фленов - DirectX и C++ Искусство программирования" Перешел к главе Инициализацию DirectDraw вот код: ddfunc.h #define _DDFUNC_H_ #include... http://www.cyberforum.ru/cpp/thread60584.html
Вывод повторяющихся слов текста из файла C++
Написать программу на Си, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран: а) посчитать и вывести на экран количество вхождений каждого слова...
C++ Доступ к protected членам базового класса
Здравствуйте, форумчане! Ниже приведенный код при компиляции вызывает следующую ошибку: error C2248: 'Element::AddTo' : cannot access protected member declared in class 'Element' element.cpp 21....
C++ Подскажите решение... http://www.cyberforum.ru/cpp/thread60365.html
Доброе время суток! Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах...
C++ Приоритеты операций Доброго времени суток! Я недавно начал изучать С++. Читаю книгу "Липпман. С++ для начинающих". И в ней на странице 178 есть таблица с приоритетами операций. Эта таблица по идее должна быть... подробнее

Показать сообщение отдельно
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.11.2009, 21:58
2fantaz1: ему нужен не алгоритм подсчета быков и коров, а алгоритм отгадывания.
Сначала нужно вручную проверить.
Думаю первый вопрос будет: 1234
Возможные ответы: 0,0 0,1 0,2 0,3 0,4 1,0 1,1 1,2 1,3 2,0 2,1 2,2 3,0 3,1 4,0

А вот дальше. В принципе можно полную схему вопросов вручную составить - но она будет достаточно большой.

Вопросы нужно задавать так, чтобы отгадать за как можно меньшее число вопросов.

Можно сначала составить две программы - одна будет играть с другой, перебирая все варианты вместо того чтобы вручную составлять.
А потом по результатам этого автоматического отгадывания составить программу которая будет уже с человеком играть

Добавлено через 2 минуты
Если не нужно минимизировать число вопросов, тогда вопросы можно задавать например так:
вопрос: 1000
вопрос: 0100
вопрос: 0010
вопрос: 0001
И остальные так же.

То есть за 6*4 вопроса можно выяснить какое число загадал человек

Добавлено через 3 минуты
Можно еще короче:
вопрос1: 1100
если нет ни быков, ни коров - значит нет 1.
если есть бык - значит либо 1***, либо *1** - что легко проверяется с помощью 2-го вопроса.
если есть корова, значит либо **1*, либо ***1 - что тоже легко проверяется.

Итого вопросов уже максимум 12.

Добавлено через 2 минуты
На самом деле хватит 10 вопросов.
После 10 вопросов про 1,2,3,4,5 мы либо отгадаем число, либо останется одно пустое место.
Это пустое место - число 6.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.