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

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

На­при­мер, если в на­ча­ле игры в куче 3 камня, Петя может пер­вым ходом по­лу­чить кучу из 4, 5 или 6 кам­ней. Если Петя по­лу­чил кучу из 5 кам­ней (до­ба­вил 2 камня), то сле­ду­ю­щим ходом Ваня может по­лу­чить 6 или 10 кам­ней. По­лу­чить 7 кам­ней Ваня не может, так как для этого нужно до­ба­вить 2 камня, а такой ход толь­ко что сде­лал Петя.

Чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней. Игра за­вер­ша­ет­ся, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 34. По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 34 или боль­ше кам­ней. В на­чаль­ный мо­мент в куче было S кам­ней, 1 ⩽ S ⩽ 33.

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

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

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

Ре­ше­ние.

Такое зна­че­ние S  — 16. Своим пер­вым ходом Петя может по­лу­чить по­зи­ции 17, 18 и 32. В пер­вых двух слу­ча­ях Ваня удва­и­ва­ет ко­ли­че­ство кам­ней в куче, в тре­тьем слу­чае Ваня до­бав­ля­ет в кучу два камня. Во всех слу­ча­ях Ваня вы­иг­ры­ва­ет своим пер­вым ходом.

 

Ответ: 16.

 

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

 

Для кон­тро­ля ходов иг­ро­ков заведём пе­ре­мен­ную m.

Если m = 1, то это дей­ствие x + 1

Если m = 2, то это дей­ствие x + 2

Если m = 3, то это дей­ствие x * 2

Таким об­ра­зом, можно ис­клю­чать ходы, ко­то­рые уже были сде­ла­ны, не вклю­чая их в воз­вра­ща­е­мые зна­че­ния функ­ции.

def f(x, h, m):

if h == 3 and x >= 34:

return 1

elif h == 3 and x < 34:

return 0

elif x >= 34 and h < 3:

return 0

else:

if h % 2 == 0:

if h == 2:

if m == 1:

return f(x + 2, h + 1, m) or f(x * 2, h + 1, m)

elif m == 2:

return f(x + 1, h + 1, m) or f(x * 2, h + 1, m)

elif m == 3:

return f(x + 1, h + 1, m) or f(x + 2, h + 1, m)

else:

return f(x + 1, h + 1, 1) and f(x + 2, h + 1, 2) and f(x * 2, h + 1, 3)

 

for x in range(1, 34):

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

print("За­да­ча 19:", x)

break


Аналоги к заданию № 40735: 40994 47016 Все

1
Тип 20 № 40736
i

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

На­при­мер, если в на­ча­ле игры в куче 3 камня, Петя может пер­вым ходом по­лу­чить кучу из 4, 5 или 6 кам­ней. Если Петя по­лу­чил кучу из 5 кам­ней (до­ба­вил 2 камня), то сле­ду­ю­щим ходом Ваня может по­лу­чить 6 или 10 кам­ней. По­лу­чить 7 кам­ней Ваня не может, так как для этого нужно до­ба­вить 2 камня, а такой ход толь­ко что сде­лал Петя.

Чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней. Игра за­вер­ша­ет­ся, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 34. По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 34 или боль­ше кам­ней. В на­чаль­ный мо­мент в куче было S кам­ней, 1 ⩽ S ⩽ 33.

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

Су­ще­ству­ет не­сколь­ко таких зна­че­ний S, при ко­то­рых у Пети есть вы­иг­рыш­ная стра­те­гия, причём Петя не может вы­иг­рать пер­вым ходом, но может вы­иг­рать своим вто­рым ходом не­за­ви­си­мо от того, как будет хо­дить Ваня. Най­ди­те наи­мень­шее и наи­боль­шее из таких зна­че­ний S.

В от­ве­те за­пи­ши­те сна­ча­ла наи­мень­шее, затем наи­боль­шее зна­че­ние.


Аналоги к заданию № 40736: 40995 47017 Все


2
Тип 21 № 40737
i

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

На­при­мер, если в на­ча­ле игры в куче 3 камня, Петя может пер­вым ходом по­лу­чить кучу из 4, 5 или 6 кам­ней. Если Петя по­лу­чил кучу из 5 кам­ней (до­ба­вил 2 камня), то сле­ду­ю­щим ходом Ваня может по­лу­чить 6 или 10 кам­ней. По­лу­чить 7 кам­ней Ваня не может, так как для этого нужно до­ба­вить 2 камня, а такой ход толь­ко что сде­лал Петя.

Чтобы де­лать ходы, у каж­до­го иг­ро­ка есть не­огра­ни­чен­ное ко­ли­че­ство кам­ней. Игра за­вер­ша­ет­ся, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 34. По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 34 или боль­ше кам­ней. В на­чаль­ный мо­мент в куче было S кам­ней; 1 ⩽ S ⩽ 33.

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

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


Аналоги к заданию № 40737: 40996 46977 47018 Все