Hide

Problem H
Девяносто девять

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

Необходимо написать программу, которая будет играть в эту игру за Вас и всегда выигрывать.

Интерактивность

Эта задача решается интерактивно.

Ваша программа должна начать игру, выведя на единственной строке число $1$ или $2$. Программа-оцениватель зачитает это число (назовём его $x$), и в ответ выведет строку с числом $x+1$ либо $x+2$, которую должна будет зачитать ваша программа. Затем ваша программа должна вывести число, которое больше данного на $1$ или $2$, и так далее.

Если ваша программа побеждает и выводит $99$, она должна завершить работу (с кодом возврата 0). Если же ваша программа проигрывает и зачитывает $99$, она тоже должна нормально завершить работу (с кодом возврата 0), а результатом оценки для соответствующей группы тестов будет Wrong Answer.

Если ваша программа выведет некорректное значение (или число, превышающее $99$), результатом оценки тоже будет Wrong Answer (подразумевая, что программа завершит работу). Если ваша программа не завершает работу нормальным образом, результатом оценки может быть Wrong Answer, Runtime Error или Time Limit Exceeded, в зависимости от обстоятельств.

Вы обязаны сбросить буфер (flush) стандартного вывода перед зачитыванием следующего ввода, иначе оцениватель может зависнуть в ожидании результата, и ваша программа получит оценку Time Limit Exceeded. Сбрасывание буфера реализуется в различных языках следующим образом:

  • Java: System.out.println() автоматически сбрасывает буфер.

  • Python: print() автоматически сбрасывает буфер.

  • C++: cout << endl; выводит новую строку и сбрасывает буфер. При использовании printf, буфер сбрасывается командой fflush(stdout).

  • Pascal: Flush(Output).

Ограничения

Тесты разделены на группы. Очки за группу даются только если корректно решены все тесты в группе.

Группа

Очки

Ограничения

1

30

Ваш друг всегда увеличивает число на 1.

2

30

Ваш друг всегда увеличивает число на 2 (кроме случая, когда текущее число 98).

3

40

Ваш друг играет случайно, выбирая ход с вероятностью 50% (кроме случая, когда текущее число 98).

Please log in to submit a solution to this problem

Log in