Статья Автор: Лебедев Дмитрий

Игровая стратегия. Простое решение (продолжение)

В тетради было представлено простое решение заданий на игровую стратегию (КЕГЭ, задания типа 19-21).
Решение было составлено так, чтобы был максимально был понятен применяемый алгоритм.
Для ускорения времени ввода и уменьшения числа ошибок при копировании частей программы, её можно "стандартизировать"


Можно заметить, что теперь программы step1, step2, step3 очень "похожи". что позволить организовать из ввод с помощью "copy-paste". Также "похожи" фрагменты основного блока. Это упрощает ввод программы на экзамене (для ввода 40 строк кода требуется не более 5 минут) 
 

Рассмотрим заданий (это Статград за октябрь 2024 года).
Задания 19-21 Правила игры:
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя.
За один ход игрок может выполнить любое из следующих трёх действий:
  1.  убрать из кучи один камень;
  2.  если количество камней в куче кратно трём, уменьшить его в три раза, в противном случае убрать из кучи два камня;
  3.  если количество камней в куче кратно пяти, уменьшить его в пять раз, в противном случае убрать из кучи три камня.
Игра завершается, когда количество камней в куче становится не более 19.
Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 19 или меньше камней.
В начале игры в куче было S камней, S > 19.
Задание 19: Укажите минимальное значение S, при котором Петя не может выиграть первым ходом, но при любом первом ходе Пети Ваня может выиграть своим
первым ходом.
Задание 20: Найдите два наименьших значения S, при которых Петя не может выиграть первым ходом, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Вани.
Задание 21: Найдите минимальное значение S, при котором у Вани есть стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, но у Вани нет стратегии, которая
позволила бы ему гарантированно выиграть первым ходом.

Для решения задания
  • достаточно отказаться от множества Start (оно совпадает с St )
  • изменить заполнение St начальными значениями ( формально S в условии неограничено, введем ограничение в 100*swin)
  • изменить получение "окружения" в подпрограмме pi

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать