Как в ЕГЭ · 18 из 20
№19–21. Куча камней
По мотивам заданий №19, №20 и №21. Двое — Петя и Ваня — по очереди делают ход с кучей камней: добавляют сколько-то или умножают кучу. Первым ходит Петя. Игра кончается, когда в куче становится не меньше заданного числа, и выигрывает тот, кто сделал последний ход. Три задания экзамена — три вопроса об одной игре; на бумаге их решают деревом, программа — перебором позиций.
Что сделать
Найдите ответы трёх заданий об этой игре: для какой кучи Ваня выигрывает после неудачного хода Пети, где выигрывает Петя вторым ходом, где — Ваня первым или вторым.
Что приходит
cel— сколько камней кончает игру: куча не меньшеcel— конецhody— ходы строками:"+k"— добавить k камней,"*k"— умножить кучу на k
Что вернуть
Тройку (ответ 19, ответ 20, ответ 21): 19 — число или None, 20 и 21 — списки куч по возрастанию.
Допишите функцию kamni в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Игра до 29 камней, ходы «+1» и «*2». При S = 8 Петя может пойти в 16, а Ваня удвоит до 32 и выиграет; при S = 7 так не выйдет — из 8 и из 14 одним ходом 29 не набрать. Ответ 19 — 8. Ответ 20 — [7, 13], ответ 21 — [12]: из 12 Петя идёт в 13 или 24; из 24 Ваня выигрывает сразу, из 13 — вторым ходом.
kamni(29, ["+1", "*2"])
(8, [7, 13], [12])
В начале в куче S камней, 1 ≤ S < cel. Ход — любой из hody; ходы только увеличивают кучу. Партия кончается, как только в куче не меньше cel; выиграл сделавший этот ход. Оба играют безошибочно, если не сказано иное. Ответ 19 — наименьшее S, при котором у Пети есть ход, не кончающий игру, после которого Ваня выигрывает первым же своим ходом. Ответ 20 — все S, при которых Петя не может выиграть первым ходом, но при любой игре Вани выигрывает своим вторым ходом. Ответ 21 — все S, при которых Ваня при любой игре Пети выигрывает первым или вторым своим ходом, но не может гарантированно выиграть первым.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.