Задания
Версия для печати и копирования в MS Word
Тип 20 № 55816
i

Для игры, опи­сан­ной в за­да­нии 19, най­ди­те два ми­ни­маль­ных зна­че­ния S, при ко­то­рых у Пети есть вы­иг­рыш­ная стра­те­гия вто­рым ходом, при этом он не может га­ран­ти­ро­ва­но вы­иг­рать за один ход.

 

Ответ:

Спрятать решение

Ре­ше­ние.

Пете не­об­хо­ди­мо, чтобы Ваня ока­зал­ся в по­зи­ции S  — 19, тогда он смо­жет вы­иг­рать своим вто­рым ходом, не­за­ви­си­мо от того, как схо­дит Ваня.

Рас­смот­рим зна­че­ние S  =  18. Своим пер­вым ходом Петя уве­ли­чи­ва­ет ко­ли­че­ство кам­ней в куче на 1. Тогда Ваня может по­лу­чить по­зи­ции 20, 23 и 76. Во всех слу­ча­ях Петя уве­ли­чи­ва­ет ко­ли­че­ство кам­ней в куче в че­ты­ре раза и вы­иг­ры­ва­ет своим вто­рым ходом.

Рас­смот­рим зна­че­ние S  =  15. Своим пер­вым ходом Петя уве­ли­чи­ва­ет ко­ли­че­ство кам­ней в куче на 4. Тогда Ваня может по­лу­чить по­зи­ции 20, 23 и 76. Во всех слу­ча­ях Петя уве­ли­чи­ва­ет ко­ли­че­ство кам­ней в куче в че­ты­ре раза и вы­иг­ры­ва­ет своим вто­рым ходом.

 

Ответ: 15  18.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

def move(n,lim,s):

# n - номер хода, lim - огра­ни­че­ние на число ходов, s - число кам­ней

# Ре­зуль­тат: 1 - вы­иг­рал пер­вый игрок, 2 - вто­рой, 0 - по­бе­ди­те­ля нет

player = 2 - n%2# Те­ку­щий игрок

rival = 3 - player# Про­тив­ник

if s >= 78:# Игра уже окон­че­на

return rival # Вы­иг­рал сде­лав­ший преды­ду­щий ход

if n > lim:# Пре­вы­шен лимит ходов

return 0# По­бе­ди­тель не опре­де­лен

pos = [s+1, s+4, s*4]# По­зи­ции после хода иг­ро­ка

res = [move(n+1, lim, x) for x in pos]# Ре­зуль­та­ты ходов

if any([x == player for x in res]):# Есть вы­иг­рыш­ный ход

return player

if all([x == rival for x in res]):# Все ходы про­иг­рыш­ные

return rival

return 0# По­бе­ди­тель не опре­де­лен

 

print('#19:',*[s for s in range(1,78) if move(1,2,s)==2])

print('#20:',*[s for s in range(1,78) if move(1,1,s)==0 and move(1,3,s)==1])

print('#21:',*[s for s in range(1,78) if move(1,2,s)==0 and move(1,4,s)==2])

Источник: ЕГЭ по ин­фор­ма­ти­ке 06.04.2023. До­сроч­ная волна
1
Тип 19 № 55815
i

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

Игра за­вер­ша­ет­ся в тот мо­мент, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 78.

По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу из 78 или более камня.

В на­чаль­ный мо­мент в куче было S кам­ней; 1 ≤ S ≤ 77.

Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка.

Ука­жи­те ми­ни­маль­ное зна­че­ние S, при ко­то­ром Ваня может вы­иг­рать своим пер­вым ходом после лю­бо­го хода Пети.


2
Тип 21 № 55817
i

Для игры, опи­сан­ной в за­да­нии 19, най­ди­те ми­ни­маль­ное зна­че­ние S, при ко­то­ром од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:

—  у Вани есть вы­иг­рыш­ная стра­те­гия, поз­во­ля­ю­щая ему вы­иг­рать пер­вым или вто­рым ходом при любой игре Пети;

—  у Вани нет стра­те­гии, ко­то­рая поз­во­лит ему га­ран­ти­ро­ван­но вы­иг­рать пер­вым ходом.