Хелпикс

Главная

Контакты

Случайная статья





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



 

Задание 19 часть 1

 

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 59. Победителем считается игрок, сделавший последний ход, т. е. первым получивший такую позицию, при которой в кучах будет 59 или больше камней.
В начальный момент в первой куче было 5 камней, во второй куче – S камней; 1 ≤ S ≤ 53.

Решение

Нарисуем таблицу, в первом столбце которой будем откладывать количество камней в первой куче, а в первой строке — количество камней во второй куче. Получим матрицу. Поскольку в первой куче количество начинается с 5, то это и будет первым значением в таблице. Во второй куче начнем с наибольшего возможного числа — 53.

Для начала найдем все выигрышные позиции для первой строки таблицы, т. е. для первого хода. Обозначим их плюсами (+):

Пояснение: Выигрышные позиции для первой строки ищем по принципу увеличения количества камней S в 2 два раза: 5 + S*2 > =59. Получим S> =27

Для того, чтобы получить наименьшее значение S, в качестве первого хода Пети необходимо увеличивать в два раза вторую кучу. Т. е. для решения задания необходимо найти такое наименьшее S, при котором Петя походил неверно, и попал своим ходом в выигрышную позицию для своего соперника, т. е. в ячейку с плюсом:

Пояснение:

S = 14

1 ход Петя: 14*2 = (5, 28)

2 ход Ваня: 28*2 = (5, 56), Сумма = 61, Выигрыш!

Ответ: 14

 

Еще один вариант решения подобного задания

 

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

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 68. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую позицию, что в кучах всего будет 68 или больше камней. В начальный момент в первой куче было 8 камней, во второй куче – S камней; 1 ≤ S ≤ 59. А) При каком минимальном S Петя выигрывает первым ходом? Б) Назовите значение S, при котором Петя может выиграть своим вторым ходом, независимо от ходов противника. Если таких несколько, укажите минимальное. В) Назовите значение S, при котором Ваня выигрывает своим первым или вторым ходом, независимо от ходов противника. Если таких несколько, укажите минимальное.

Объяснение решения:

Пункт A:

Пусть во второй куче x камней. Тогда стратегия примет вид:

(8; x)⇒ (8; 3x)

По условию 8+3x≥ 68 ⇒ x≥ 20.

Так как нам нужно найти минимальное значение, то берем число 20.

Пункт Б:

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

 

Напишем программу на языке Python 3:

def f(x, y, p):

if x + y > = 68 and p == 4:

return True

elif x + y < 68 and p < 4:

if p % 2 > 0:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.