Top.Mail.Ru
Ответы

Решите задачу по Алгоритмике

Два игрока, Павел и Василий, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Павел. За один ход игрок может добавить в кучу три камня или увеличить количество камней в куче в три раза. Например, имея кучу из 10 камней, за один ход можно получить кучу из 13 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.



Игра завершается в тот момент, когда количество камней в куче становится не менее 45. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 45 или больше камней.



В начальный момент в куче было S камней, 1 ≤ S ≤ 45.



Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока  — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.



Известно, что Павел не может выиграть своим первым ходом, однако, после любого хода Василия Павел может выиграть своим вторым ходом. При каком минимальном значении S это возможно? В ответе запишите первоначальное число камней и первый ход Павла, обеспечивающий ему победу в игре.



Примем условные обозначения:

А - увеличили на 3

В - увеличили в 3 раза

Например, 15А (с начальной позицией в 15 камней Павел выиграет при любом ходе Василия, если увеличит количество камней в куче на 3 в свой первый ход)

По дате
По рейтингу
Аватар пользователя
Новичок

Вывести количество камней в куче

S = 45

Если S = 45, то Павел выиграл.

Иначе если S делится на 3, то Павел увеличивает количество камней в куче в 3 раза.

Иначе Павел добавляет 3 камня в кучу.

Повторяем, начиная с вывода количества камней в куче.

Аватар пользователя
Высший разум

Здесь не нужно программирование.

Перед ходом "Василия" должно быть не менее 12 и не более 14 камней.
Если камней 11, "Василий" делает ход +3 = 14 и "Павел" сможет получить только 42 камня - слишком мало для выигрыша.
Если камней 15, "Василий" делает ход *3 = 45 и выигрывает.

Смотрим, как можно получить этот диапазон первым ходом "Павла":
14 = 11 + 3
13 = 10 + 3
12 = 9 + 3
12 = 4 * 3

Ответ: 4B