|
2 / 2 / 0
Регистрация: 11.10.2009
Сообщений: 31
|
|
Быки и коровы02.11.2009, 22:07. Показов 31359. Ответов 7
Метки нет (Все метки)
Доброе время суток.
Пользователь загадывает число из 4 цифр, каждая из которых от 1 до 6, причем все цифры различны. Разработать алгоритм, который угадывает число по следующим правилам: выводится число и пользователь сообщает, сколько в нем "быков" и "коров", т.е. сколько цифр стоят на своих местах и сколько цифр содержатся в обоих числах, но совпадают лишь по значению. Например, пусть загадано число 1264, спрошено 1256. В этом случае 2 быка (1,2) и одна корова (6). Подскажите как решать пожалуйста...
0
|
|
| 02.11.2009, 22:07 | |
|
Ответы с готовыми решениями:
7
Алгоритм игры Быки -коровы в С++ Игра быки и коровы Игра быки и коровы |
|
33 / 25 / 7
Регистрация: 08.11.2008
Сообщений: 107
|
|
| 03.11.2009, 11:08 | |
|
делаеш с 2 чисел 2 char[4] к примеру, потом пробегаешся по елементам массивов и проверяеш если попадаюца одинаковые, то еще проверяеш не одинаковые ли у них порядковые номера если да то +1 бык нет то +1 корова..
0
|
|
|
7176 / 3234 / 82
Регистрация: 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
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 04.11.2009, 00:05 | |
|
Оптимальный алгоритм:
Создаётся массив boolов. Отмечаются "плохие" числа - которые не могут быть загаданы. Спрашивается любое "хорошее" число. Все числа, на которые ответ юзера был бы не таким, помечаются как плохие. И так далее... Если число отгадано - то хорошо, если все оставшиеся числа - плохие, то юзер натупил с ответами.
0
|
|
|
33 / 25 / 7
Регистрация: 08.11.2008
Сообщений: 107
|
|
| 04.11.2009, 11:11 | |
|
odip ему как раз надо алгоритм решение, а не то что вы написали ему))) это олимпиадная задача с http://acm.dvpion.ru и он просто сам не может ее решить, и спрашивает тут!!)
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 04.11.2009, 22:26 | |
|
2fantaz1: а я что написал ? алгоритм отгадывания и написал.
Только число шагов не минимальное, но этого в задании нет ![]() 2Somebody: От твоего текста до оптимального алгоритма весьма далеко.
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 04.11.2009, 23:52 | |
|
0
|
|
|
32 / 34 / 3
Регистрация: 27.12.2009
Сообщений: 106
|
||||||
| 30.01.2010, 21:52 | ||||||
|
Вот код на цпп, только его надо чуть-чуть исправить
1
|
||||||
| 30.01.2010, 21:52 | |
|
Помогаю со студенческими работами здесь
8
Ищу исходник игры на С++, на подобие "Солитер", "Быки и коровы", "Змейка" и т. д Быки и коровы. Быки и коровы Быки и коровы Быки и коровы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|