Найти в Дзене

Теория игр. Задание 19 - 21

В основном, в ЕГЭ все задания одинаковые, отличаются лишь ходы и количество куч (1 или 2). Но в целом, с помощью кода можно решить задание с любой последовательностью ходов Начинаем решение задачи с установления следующих параметров:
1) какие бывают ходы 2) при каком количестве камней выигрыш 3) кто должен победить (это будет наш игрок) и каким ходом 4) какой возможный диапазон камней в начальной куче Игра бывает двух видов:
а) при неудачном ходе противника - тогда и наши ходы, и ходы противника записываются через or б) при любом ходе противника - тогда наши ходы через or, ходы противника через and Как строится функция для проверки: Она возвращает True когда победил наш игрок, False - когда он проиграл Основная часть программы: Дальше остается аккуратно обработать выведенные значения (внимательно читаем вопрос задачи). Могут попросить как один наибольший или наименьший, так и несколько. Или наибольший и наименьший. Или вообще количество подходящих ответов. рассмотрим разные варианты
Оглавление

В основном, в ЕГЭ все задания одинаковые, отличаются лишь ходы и количество куч (1 или 2). Но в целом, с помощью кода можно решить задание с любой последовательностью ходов

Начинаем решение задачи с установления следующих параметров:
1) какие бывают ходы

2) при каком количестве камней выигрыш

3) кто должен победить (это будет наш игрок) и каким ходом

4) какой возможный диапазон камней в начальной куче

Игра бывает двух видов:
а) при неудачном ходе противника - тогда и наши ходы, и ходы противника записываются через or

б) при любом ходе противника - тогда наши ходы через or, ходы противника через and

Как строится функция для проверки:

текстовое описание кода
текстовое описание кода

Она возвращает True когда победил наш игрок, False - когда он проиграл

Основная часть программы:

-2

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

рассмотрим разные варианты заданий:

Пример 1

не стандартное условие, но на всякий случай разберем
не стандартное условие, но на всякий случай разберем
-4

Выиграть должен Петя, значит его ходы будут через or, а противника через and.

-5

Осталось только применить эту функцию для всех возможных значений камней в начальной куче

-6

Дальше внимательно читаем, что спрашивали в задаче и выбираем ответ из выведенных на экран чисел: 31

Пример 2

-7
-8

Выиграть должен Ваня, значит его ходы будут через or, а противника через and.

-9

Выбираем из ответов 58

Пример 3

-10
-11

Ваня - наш игрок, а Петя - противник. Но так как ход противника неудачный, у всех будут or

-12

Пример 4

-13
-14

Петя - наш игрок (or), Ваня - противник (and)

Так как теперь игра идет наоборот в меньшую сторону, то и знаки у выигрыша и ходов ставим соответсвующие

-15

Смотрим на вопрос задачи, там надо указать 2 наименьших - 62 и 63

Пример 5

-16
-17

Из-за того, что выиграть теперь можно двумя ходами, возникнет путаница. Ведь Для программы нет разницы, как именно мы выигрывали

Какие есть варианты:
1) при всех ходах Пети мы выиграли 1 ходом

2) при всех ходах Пети мы выиграли 2 ходом

3) при каких-то ходах Пети выигрывали первым, при каких-то вторым

Судя по пункту

-18

случай 1 запрещен. Но программно мы это убрать не можем

В таком случае, сначала распишем все, не обращая внимания на этот пункт

-19

Полученные значения:

-20

Какие-то из них лишние, проверим

Запрещенно выигрывать всегда первым ходом. Значит и поищем значения, когда мы выигрываем всегда первым ходом

-21

Вывелось:

-22

Это и есть лишние, которые убираем

Соответсвенно остается минимальным значение 77

Задания для отработки:

21905
21418
18124