Задания
Версия для печати и копирования в MS Word

Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежат две кучи кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. За один ход игрок может до­ба­вить в одну из куч (по сво­е­му вы­бо­ру) один ка­мень или уве­ли­чить ко­ли­че­ство кам­ней в куче в два раза. На­при­мер, пусть в одной куче 10 кам­ней, а в дру­гой  — 5 кам­ней; такую по­зи­цию в игре будем обо­зна­чать (10, 5). Тогда за один ход можно по­лу­чить любую из четырёх по­зи­ций: (11, 5), (20, 5), (10, 6), (10, 10). Для того чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней.

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

В на­чаль­ный мо­мент в пер­вой куче было семь кам­ней, во вто­рой куче  — S кам­ней; 1 ≤ S ≤ 69.

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

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

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

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

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

Ре­ше­ние.

Такое зна­че­ние S  — 30. При S  =  30 Петя своим пер­вым ходом может по­лу­чить одну из четырёх по­зи­ций: (7, 31), (8, 30), (14, 30), (7, 60).

В по­зи­ции (7, 60) Ваня удва­и­ва­ет ко­ли­че­ство кам­ней во вто­рой куче и вы­иг­ры­ва­ет своим пер­вым ходом.

Из по­зи­ций (14, 30) и (7, 31) Ваня может по­лу­чить по­зи­цию (14, 31). В этом слу­чае после вто­ро­го хода Пети может воз­ник­нуть одна из четырёх по­зи­ций: (15, 31), (14, 32), (28, 31), (14, 62). Во всех слу­ча­ях Ваня удва­и­ва­ет ко­ли­че­ство кам­ней во вто­рой куче и вы­иг­ры­ва­ет своим вто­рым ходом.

Из по­зи­ции (8, 30) Ваня своим пер­вым ходом может по­лу­чить по­зи­цию (16, 30). После вто­ро­го хода Пети может воз­ник­нуть одна из четырёх по­зи­ций: (17, 30), (16, 31), (32, 30), (16, 60). Во всех слу­ча­ях Ваня удва­и­ва­ет ко­ли­че­ство кам­ней во вто­рой куче и вы­иг­ры­ва­ет своим вто­рым ходом.

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

 

Ответ: 30.

 

При­ме­ча­ние. До­ка­жем, что при S ≤ 29 либо вы­иг­ры­ва­ет Петя своим пер­вым или вто­рым ходом, либо игра не за­вер­шит­ся за 4 хода.

При S ≤ 7 Петя своим пер­вым ходом может до­ба­вить в боль­шую кучу один ка­мень. Тогда, даже если из­на­чаль­но S  =  7, наи­боль­шее ко­ли­че­ство кам­ней, ко­то­рое можно по­лу­чить сум­мар­но в обеих кучах за 4 хода, каж­дый раз удва­и­вая боль­шую кучу, рав­ня­ет­ся 71.

При 8 ≤ S ≤ 16 Петя может вы­брать такую стра­те­гию, ко­то­рая не поз­во­лит по­бе­дить Ване за один или два хода. Для этого Петя каж­дый ход может при­бав­лять к пер­вой куче один ка­мень. При этом наи­боль­шее сум­мар­ное ко­ли­че­ство кам­ней в обеих кучах, ко­то­рое можно по­лу­чить за 4 хода, равно 9 + 64  =  73.

При S  =  17. Петя пер­вым ходом может по­лу­чить по­зи­цию (7, 18). Из этой по­зи­ции Ваня может по­лу­чит по­зи­ции (8, 18), (7, 19), (14, 18) и (7, 36). В по­зи­ции (7, 36) Петя вы­иг­ры­ва­ет своим вто­рым ходом. В осталь­ных по­зи­ци­ях у Пети есть стра­те­гия, ко­то­рая поз­во­ля­ет ему по­лу­чить по­зи­ции, из ко­то­рых Ваня не смо­жет вы­иг­рать своим вто­рым ходом.

При 18 ≤ S ≤ 29 Петя может по­лу­чить по­зи­цию (8, S). В этой по­зи­ции Петя либо вы­иг­ры­ва­ет своим вто­рым ходом, либо у него есть стра­те­гия, ко­то­рая поз­во­ля­ет ему по­лу­чить по­зи­ции, в ко­то­рых Ваня не может вы­иг­рать своим пер­вым или вто­рым ходом.

 

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

 

Ис­клю­чим стра­те­гию Вани, при ко­то­рой он га­ран­ти­ро­ва­но вы­иг­ра­ет пер­вым ходом:

def f(x, y, h):

if (h == 3 or h == 5) and x + y >= 77:

return 1

elif h == 5 and x + y < 77:

return 0

elif x + y >= 77 and h < 5:

return 0

else:

if h % 2 == 0:

return f(x + 1, y, h + 1) or f(x, y + 1, h + 1) or f(x * 2, y, h + 1) or f(x, y * 2, h + 1) # стра­те­гия по­бе­ди­те­ля

else:

return f(x + 1, y, h + 1) and f(x, y + 1, h + 1) and f(x * 2, y, h + 1) and f(x, y * 2, h + 1) # стра­те­гия про­иг­рав­ше­го(любой ход)

 

def f1(x, y, h):

if h == 3 and x + y >= 77:

return 1

elif h == 3 and x + y < 77:

return 0

elif x + y >= 77 and h < 3:

return 0

else:

if h % 2 == 0:

return f1(x + 1, y, h + 1) or f1(x, y + 1, h + 1) or f1(x * 2, y, h + 1) or f1(x, y * 2, h + 1) # стра­те­гия по­бе­ди­те­ля

else:

return f1(x + 1, y, h + 1) and f1(x, y + 1, h + 1) and f1(x * 2, y, h + 1) and f1(x, y * 2, h + 1) # стра­те­гия про­иг­рав­ше­го(любой ход)

 

for x in range(1, 70):

if f(x, 7, 1) == 1:

print(x)

print("====")

for x in range(1, 70):

if f1(x, 7, 1) == 1:

print(x)

 

При­ведём ре­ше­ние Ми­ха­и­ла Глин­ско­го на языке Python.

def f(x,y,n):

if n%2==0 and (x+y)>=77: return 1

if n==4 and (x+y)<77: return 0

if n%2==1 and (x+y)>=77: return 0

else:

if n%2==0: return f(x+1,y,n+1) and f(x*2,y,n+1) and f(x,y+1,n+1) and f(x,y*2,n+1)

if n%2==1: return f(x+1,y,n+1) or f(x*2,y,n+1) or f(x,y+1,n+1) or f(x,y*2,n+1)

for s in range(1,70):

if f(7,s,0):

print(s)

break

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2021 по ин­фор­ма­ти­ке
Раздел кодификатора ФИПИ: 1.5.2 Це­поч­ки, де­ре­вья, спис­ки, графы, мат­ри­цы, псев­до­слу­чай­ные по­сле­до­ва­тель­но­сти
1

Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежат две кучи кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. За один ход игрок может до­ба­вить в одну из куч (по сво­е­му вы­бо­ру) один ка­мень или уве­ли­чить ко­ли­че­ство кам­ней в куче в два раза. На­при­мер, пусть в одной куче 10 кам­ней, а в дру­гой 5 кам­ней; такую по­зи­цию в игре будем обо­зна­чать (10, 5). Тогда за один ход можно по­лу­чить любую из четырёх по­зи­ций: (11, 5), (20, 5), (10, 6), (10, 10). Для того чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней.

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

В на­чаль­ный мо­мент в пер­вой куче было семь кам­ней, во вто­рой куче  — S кам­ней; 1 ≤ S ≤ 69.

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

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


2

Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежат две кучи кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. За один ход игрок может до­ба­вить в одну из куч (по сво­е­му вы­бо­ру) один ка­мень или уве­ли­чить ко­ли­че­ство кам­ней в куче в два раза. На­при­мер, пусть в одной куче 10 кам­ней, а в дру­гой  — 5 кам­ней; такую по­зи­цию в игре будем обо­зна­чать (10, 5). Тогда за один ход можно по­лу­чить любую из четырёх по­зи­ций: (11, 5), (20, 5), (10, 6), (10, 10). Для того чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней.

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

В на­чаль­ный мо­мент в пер­вой куче было семь кам­ней, во вто­рой куче  — S кам­ней; 1 ≤ S ≤ 69.

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

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

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

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

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