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

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

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

Ре­ше­ние.

Такое зна­че­ние S  — 56. Своим пер­вым ходом Петя может по­лу­чить по­зи­ции 57 или 84 (так как число де­лит­ся на 2). В слу­чае по­зи­ции 84 Ваня вы­иг­ры­ва­ет своим пер­вым ходом (так как 84 де­лит­ся на 2). Если Петя де­ла­ет по­зи­цию 57, Ваня может по­лу­чить по­зи­ции 58 или 76. В слу­чае по­зи­ции 76 вы­иг­ра­ет Петя, по­это­му Ваня де­ла­ет по­зи­цию 58. В слу­чае по­зи­ции 58, Петя может по­лу­чить по­зи­ции 59 или 87. В по­зи­ции 59 Ваня удва­и­ва­ет ко­ли­че­ство кам­ней, а в по­зи­ции 87 до­бав­ля­ет треть кам­ней в куче и вы­иг­ры­ва­ет своим пер­вым ходом.

 

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

def f(x, h):

if x >= 96:

return h % 2 == 0

if h == 0:

return 0

c = [f(x + 1, h - 1)]

if x % 2 == 0:

c += [f(x *3 // 2, h - 1)]

if x % 3 == 0:

c += [f(x *4 // 3, h - 1)]

if x % 2 != 0 and x % 3 != 0:

c += [f(x * 2, h - 1)]

return any (c) if h % 2 != 0 else all(c)

 

for x in range(96,1,-1):

if f(x, 4) == 1 and f(x, 2) == 0:

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

break

 

Решим за­да­ние с по­мо­щью элек­трон­ных таб­лиц.

Ско­пи­ру­ем ре­ше­ние за­да­чи 19 шест­на­дцать раз на­чи­ная с ячей­ки M3. Там где было на­чаль­ное ко­ли­че­ство кам­ней в куче будет ход Пети, а где был ход Пети, будет ход Вани. Ме­ня­ем зна­че­ния в ячей­ках:

В ячей­ку M3  — ход =L3+1.

В ячей­ку M67  — ход =ЕСЛИ(ОСТАТ(L3;2)=0;L3+L3*0,5;-1000).

В ячей­ку M131  — ход =ЕСЛИ(ОСТАТ(L3;3)=0;L3+L3*1/3;-1000).

В ячей­ку M195  — ход =ЕСЛИ(И(ОСТАТ(L3;2)<>0;ОСТАТ(L3;3)<>0);L3*2;-1000).

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

По­лу­чим сле­ду­ю­щую таб­ли­цу и под­хо­дя­щее зна­че­ние 56: ре­ше­ние.xlsx.

Ответ: 56.


Аналоги к заданию № 63037: 63070 Все

1
Тип 19 № 63035
i

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

—  до­ба­вить в кучу один ка­мень;

—  если ко­ли­че­ство кам­ней в куче чётно, до­ба­вить по­ло­ви­ну име­ю­ще­го­ся ко­ли­че­ства;

—  если ко­ли­че­ство кам­ней в куче крат­но трём, до­ба­вить треть име­ю­ще­го­ся ко­ли­че­ства;

—  если ко­ли­че­ство кам­ней в куче не крат­но ни двум, ни трём, удво­ить кучу.

На­при­мер, если в куче 5 кам­ней, то за один ход можно по­лу­чить 6 или 10 кам­ней, а если в куче 6 кам­ней, то за один ход можно по­лу­чить 7, или 8, или 9 кам­ней.

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

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

В на­ча­ле игры в куче было S кам­ней, 1 ≤ S ≤ 95.

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


Аналоги к заданию № 63035: 63068 Все


2
Тип 20 № 63036
i

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

В от­ве­те за­пи­ши­те най­ден­ные зна­че­ния в по­ряд­ке воз­рас­та­ния.

 

Ответ:


Аналоги к заданию № 63036: 63069 Все