Разбор демоверсии ЕГЭ по информатике 2022 Алексей Кабанов
Смотрите также:
Демоверсия ЕГЭ 2022 по информатике с ответами
Разбор открытого пробника ЕГЭ по информатике 10.2021 Алексей Кабанов. Разбираем октябрьский открытый пробник. Анализируем результаты проведения.
Ссылка на вариант
Смотрите также:
СтатГрад № 1 от 27.10.2021 1 вариант ЕГЭ 2022 по информатике
Задание 19-21. Python. № 3084. (А. Кабанов) Задачи с одной кучей камней.
Задание КИМ № 19: Теория игр
Раздел № 163: Задачи с одной кучей камней (ответ — число)
(А. Кабанов) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в кучу один камень;
б) увеличить количество камней в куче в два раза;
в) увеличить количество камней в куче в три раза.
Игра завершается в тот момент, когда количество камней в куче становится не менее 43. Если при этом в куче оказалось не более 72 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. В начальный момент в куче было S камней, 1 ≤ S ≤ 42.
Ответьте на следующие вопросы:
Вопрос 1. Найдите минимальное значение S, при котором Ваня выигрывает своим первым ходом при любой игре Пети.
Вопрос 2. Сколько существует значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Вопрос 3. Найдите минимальное и максимальное значения S, при которых одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Найденные значения запишите в ответе в порядке возрастания.
Данная задача решена на языке программирования — Python.
from functools import lru_cache
def sh(h):
return h+1,h*2,h*3 @lru_cache(None)
def f(h):
if h>42 and h<=72:
return 'выиграл'
elif h>72:
return 'проиграл'
elif any(f(x)=='выиграл' for x in sh(h)):
return 'П1'
elif all(f(x)=='П1' for x in sh(h)):
return 'B1'
elif any(f(x)=='B1' for x in sh(h)):
return 'П2'
elif all(f(x)=='П2' or f(x)=='П1' for x in sh(h)):
return 'В2'
for i in range(1,43):
print(i,' ',f(i)
Ответ:
1) 14 2) 3 3) 12 39
Формат файла
|
Что это такое?Здесь представлены материалы для подготовки к ЕГЭ по информатике. Автор признателен
Особая благодарность Н.Н. Паньгиной (г. Сосновый Бор) за
Автор будет благодарен за новые отзывы по поводу представленных Тренажёр компьютерного ЕГЭЕГЭ по информатике в 2023 году будет проводиться в компьютерной форме.
Авторские семинарыЕсли вы хотите пригласить авторов учебника в свой город Робот-Blockly
Коллеги тащат то, что не приколочено…
Актуальные публикации
См. также полный список статей. Что еще посмотреть?
Новости теперь и в
|