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

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

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

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

В на­чаль­ный мо­мент в куче было S кам­ней; 1 мень­ше или равно S мень­ше или равно 69.

Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка. Опи­сать стра­те­гию иг­ро­ка  — зна­чит, опи­сать, какой ход он дол­жен сде­лать в любой си­ту­а­ции, ко­то­рая ему может встре­тить­ся при раз­лич­ной игре про­тив­ни­ка. В опи­са­ние вы­иг­рыш­ной стра­те­гии не сле­ду­ет вклю­чать ходы иг­ра­ю­ще­го по этой стра­те­гии иг­ро­ка, не яв­ля­ю­щи­е­ся для него без­услов­но вы­иг­рыш­ны­ми, то есть не яв­ля­ю­щи­е­ся вы­иг­рыш­ны­ми не­за­ви­си­мо от игры про­тив­ни­ка.

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

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

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

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

Ре­ше­ние.

Ми­ни­маль­ное зна­че­ние S: 8. После пер­во­го хода Пети в куче может быть: 9, 12, 40. Если в куче ста­нет 40 кам­ней, то Ваня уве­ли­чит ко­ли­че­ство кам­ней в куче в 5 раз и вы­иг­ра­ет своим пер­вым ходом. В си­ту­а­ции, когда в куче 9 кам­ней, Ваня до­бав­ля­ет в кучу 4 камня, а если в куче 12 кам­ней, то Ваня до­ба­вит 1 ка­мень таким об­ра­зом, чтобы по­лу­чи­лось 13 кам­ней. В этом слу­чае после лю­бо­го хода Пети Ваня вы­иг­ры­ва­ет своим сле­ду­ю­щим ходом.

Таким об­ра­зом, ответ  — 8.

 

Ответ: 8.

 

При­ведём дру­гое ре­ше­ние на языке Python.

def f(x, h):

if (h == 3 or h == 5) and x >= 70:

return 1

elif h == 5 and x < 70:

return 0

elif x >= 70 and h < 5:

return 0

else:

if h % 2 == 0:

return f(x + 1, h + 1) or f(x + 4, h + 1) or f(x * 5, h + 1)

# стра­те­гия по­бе­ди­те­ля

else:

return f(x + 1, h + 1) and f(x + 4, h + 1) and f(x * 5, h + 1)

# стра­те­гия про­иг­рав­ше­го

def f1(x, h):

if h == 3 and x >= 70:

return 1

elif h == 3 and x < 70:

return 0

elif x >= 70 and h < 3:

return 0

else:

if h % 2 == 0:

return f1(x + 1, h + 1) or f1(x + 4, h + 1) or f1(x * 5, h + 1)

# стра­те­гия по­бе­ди­те­ля

else:

return f1(x + 1, h + 1) and f1(x + 4, h + 1) and f1(x * 5, h + 1)

# стра­те­гия про­иг­рав­ше­го(любой ход)

for x in range(1, 70):

if f(x, 1) == 1:

print(x)

print("====")

for x in range(1, 70):

if f1(x, 1) == 1:

print(x)

 

При­ведём дру­гое ре­ше­ние на языке Python.

from functools import lru_cache

def moves(h):

return h + 1, h + 4, h * 5

@lru_cache(None)

def f(h):

if h >= 70:

return 'END'

if any(f(x) == 'END' for x in moves(h)):

return 'WIN1'

if all(f(x) == 'WIN1' for x in moves(h)):

return 'LOSE1'

if any(f(x) == 'LOSE1' for x in moves(h)):

return 'WIN2'

if all(f(x) == 'WIN2' or f(x) == 'WIN1' for x in moves(h)):

return 'LOSE2'

for s in range(1, 70):

if f(s) == 'LOSE2':

print(s, f(s))


Аналоги к заданию № 27804: 27807 27816 Все

Раздел кодификатора ФИПИ: 1.5.2 Це­поч­ки, де­ре­вья, спис­ки, графы, мат­ри­цы, псев­до­слу­чай­ные по­сле­до­ва­тель­но­сти
1
Тип 19 № 27814
i

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

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

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

В на­чаль­ный мо­мент в куче было S кам­ней; 1 мень­ше или равно S мень­ше или равно 69.

Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка. Опи­сать стра­те­гию иг­ро­ка  — зна­чит, опи­сать, какой ход он дол­жен сде­лать в любой си­ту­а­ции, ко­то­рая ему может встре­тить­ся при раз­лич­ной игре про­тив­ни­ка. В опи­са­ние вы­иг­рыш­ной стра­те­гии не сле­ду­ет вклю­чать ходы иг­ра­ю­ще­го по этой стра­те­гии иг­ро­ка, не яв­ля­ю­щи­е­ся для него без­услов­но вы­иг­рыш­ны­ми, то есть не яв­ля­ю­щи­е­ся вы­иг­рыш­ны­ми не­за­ви­си­мо от игры про­тив­ни­ка.

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


Аналоги к заданию № 27802: 27805 27814 Все


2
Тип 20 № 27815
i

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

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

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

В на­чаль­ный мо­мент в куче было S кам­ней; 1 мень­ше или равно S мень­ше или равно 69.

Будем го­во­рить, что игрок имеет вы­иг­рыш­ную стра­те­гию, если он может вы­иг­рать при любых ходах про­тив­ни­ка. Опи­сать стра­те­гию иг­ро­ка  — зна­чит, опи­сать, какой ход он дол­жен сде­лать в любой си­ту­а­ции, ко­то­рая ему может встре­тить­ся при раз­лич­ной игре про­тив­ни­ка. В опи­са­ние вы­иг­рыш­ной стра­те­гии не сле­ду­ет вклю­чать ходы иг­ра­ю­ще­го по этой стра­те­гии иг­ро­ка, не яв­ля­ю­щи­е­ся для него без­услов­но вы­иг­рыш­ны­ми, то есть не яв­ля­ю­щи­е­ся вы­иг­рыш­ны­ми не­за­ви­си­мо от игры про­тив­ни­ка.

Най­ди­те два таких зна­че­ния S, при ко­то­рых у Пети есть вы­иг­рыш­ная стра­те­гия, причём од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:

—  Петя не может вы­иг­рать за один ход;

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

Най­ден­ные зна­че­ния за­пи­ши­те в от­ве­те в по­ряд­ке воз­рас­та­ния без раз­де­ли­тель­ных зна­ков.


Аналоги к заданию № 27803: 27806 27815 Все