Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Конкурсы и Олимпиады по Машинному программированию (КОМП)


Информационный Канал Subscribe.Ru


Уважаемые подписчики, скоро начнётся очередная олимпиада шольников КОМП.

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

Итак, задача первого тура.

Девятизначные быки и коровы

В "Быки и коровы" играют вдвоём. Первый игрок загадывает число, второй
игрок  его  отгадывает. Для уточнения числа второй записывает число, а
первый  говорит, сколько в нем быков, а сколько коров. Такое уточнение
называется  ходом.  Быком называется цифра числа, которая стоит на том
же  месте,  что  и  в  загаданном числе и совпадает с ним по значению.
Коровой называется цифра числа, которая есть в загаданном числе, но не
является быком.

Второй  игрок  записывает  число. В ответ первый записывает, сколько в
этом числе быков и сколько коров.

Цель игры
Определить за наименьшее количество ходов загаданное число.

Варианты
Можно  договариваться  о  разном  количестве  цифр в числе. Интересные
варианты начинаются с 4.

Задача
Написать  программы  для  первого и для второго игрока отдельно. Цифры
будут  десятичные  от  0 до 9 и их количество в числе ровно 9. Цифры в
числе  могут  быть  одинаковыми.  Назовём программу для первого игрока
загадыватель, а для второго -- отгадыватель.

Техническое здание
  Программы  общаются  через файл numbers.txt. Обе программы имеют право
только   дописывать  этот  файл.  Т.е.  все  предыдущие  строки  нужно
сохранять. В файле numbers.txt заполняется так:
  В первой  строке загадыватель  записывает  десятичное число из 20-ти
знаков.  В  нем  закодировано  загаданное  число.  В  следующей строке
отгадыватель  записывает  девятизначное  число  (если  нужно  дополнив
незначащими  нулями).  В  третьей  строке загадыватель обязан написать
двухзначное  число.  Первая цифра -- количество быков, вторая цифра --
количество коров в числе, написанном в предыдущей строке.

Игра  продолжается до момента пока загадывающий не напишет 90 (9 быков
0  коров).  Время  на  ход -- 1 секунда. Если игра достигла 100 ходов,
отгадывающему записывается поражение.

Оценка задачи
Между программами будет устроен турнир. Можно получить до 100 баллов.

Блеф
Эта   задача   предполагает   блеф.  Загадывателю  разрешается  менять
загаданное  число в во время игры, сообщать не верное количество быков
и  коров  или  раскодировать  число  из первой строки. Но отгадыватель
может  потребовать проверку. Для этого нужно записать не девятизначное
число, а -1. И если он окажется прав, то ему будет засчитан выигрыш за
1  ход.  Если  проверяющая  программа не найдет обман, то отгадывателю
записывается проигрыш. Все остальные жульничества запрещаются и за них
программа может быть снята с соревнований.

Командный вариант
Эту задачу можно решать не только одному. Вы можете собрать команду до
4  человек. Команда более чем из одного человека получит поощрительные
очки.  2 человека -- 10 баллов, 3 человека -- 15 баллов, 4 человека --
20 баллов.

                                             Автор задачи: В.В.Пупышев



Последний день решения задачи - 15 апреля 2002 года.

Последний день задавать вопросы по условию задачи - 10 апреля 2002 года

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное