Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

19. Выигрышная стратегия: часть 1: все задания

Сообщить о проблеме
1. Задание #295168
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
— добавить в одну из куч (по своему выбору) $4$ камня;
— увеличить количество камней в одной из куч (по своему выбору) в 3 раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим ($20, 30$). Тогда за один ход можно получить любую из четырёх позиций: $(24, 30), (20, 34), (60, 30), (20, 90).$

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $154$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $154$ камня или больше. В начальный момент в первой куче $11$ камней, во второй куче – $S$ камней; $1 \leq S \leq 142$.

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

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

Первый способ — математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $3$: $(11;S)\rightarrow(11;3S)\rightarrow(11;9S)$.

Для победы Вани:

$11+9S\geq154$,
$9S\geq143$,
$S\geq15{,}88\ldots$

Минимальное целое значение $S=16$.

Проверка: после хода Пети $(11;48)$ сумма равна $59<154$, а после хода Вани $(11;144)$ сумма равна $155\geq154$.

Второй способ — решение с помощью Python

def moves(a, b):
    return [(a + 4, b), (a, b + 4),
            (a * 3, b), (a, b * 3)]

for S in range(1, 143):
    if any(
        a + b < 154 and
        any(x + y >= 154 for x, y in moves(a, b))
        for a, b in moves(11, S)
    ):
        print(S)
        break

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

Программа выведет: $16$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
2. Задание #295190
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
— добавить в одну из куч (по своему выбору) $3$ камня;
— увеличить количество камней в одной из куч (по своему выбору) в 3 раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим (20, 30). Тогда за один ход можно получить любую из четырёх позиций: $(23, 30), (20, 33), (60, 30), (20, 90)$.

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $176$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $176$ камней или больше. В начальный момент в первой куче было 14 камней, во второй куче – $S$ камней; $1 \leq S \leq 161$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $3$:

$(14;S)\rightarrow(14;3S)\rightarrow(14;9S)$.

Для победы Вани:

$14+9S\geq176$,
$9S\geq162$,
$S\geq18$.

Проверка: после хода Пети $(14;54)$ сумма равна $68<176$, а после хода Вани $(14;162)$ сумма равна $176$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 3, b), (a, b + 3),
            (a * 3, b), (a, b * 3)]

for S in range(1, 162):
    if any(
        a + b < 176 and
        any(x + y >= 176 for x, y in moves(a, b))
        for a, b in moves(14, S)
    ):
        print(S)
        break

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

Программа выведет: $18$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
3. Задание #295196
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в куче было $S$ камней, $1 \leq S \leq 68$. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

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

Первый способ – математическое решение

Петя не должен выиграть первым ходом, поэтому: $2S<69$, откуда $S\leq34$.

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

Возможные ходы Пети:

$S\rightarrow S+1$,
$S\rightarrow2S$.

Поэтому:

$S+1\geq35$,
$2S\geq35$.

Из первого неравенства получаем $S\geq34$.

С учётом $S\leq34$ получаем: $S=34$.

Проверка:

  • $34\rightarrow35\rightarrow70$;
  • $34\rightarrow68\rightarrow69$.

В обоих случаях Петя не выигрывает первым ходом, а Ваня выигрывает следующим.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x * 2]

def win1(x):
    return x < 69 and any(y >= 69 for y in moves(x))

for S in range(1, 69):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $34$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
4. Задание #295199
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– добавить в одну из куч (по своему выбору) $4$ камня;
– увеличить количество камней в одной из куч (по своему выбору) в $2$ раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим $(20, 30)$. Тогда за один ход можно получить любую из четырёх позиций: $(24, 30)$, $(20, 34)$, $(40, 30)$, $(20, 60)$.

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $133$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $133$ камня или больше. В начальный момент в первой куче было $17$ камней, во второй куче – $S$ камней; $1 \leq S \leq 115$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $2$: $(17;S)\rightarrow(17;2S)\rightarrow(17;4S)$.

Для победы Вани:

$17+4S\geq133$,
$4S\geq116$,
$S\geq29$.

Проверка: после хода Пети $(17;58)$ сумма равна $75<133$, а после хода Вани $(17;116)$ сумма равна $133$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 4, b), (a, b + 4),
            (a * 2, b), (a, b * 2)]

for S in range(1, 116):
    if any(
        a + b < 133 and
        any(x + y >= 133 for x, y in moves(a, b))
        for a, b in moves(17, S)
    ):
        print(S)
        break

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

Программа выведет: $29$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
5. Задание #295202
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– добавить в одну из куч (по своему выбору) $1$ камень;
– увеличить количество камней в одной из куч (по своему выбору) в $3$ раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим $(20, 30)$. Тогда за один ход можно получить любую из четырёх позиций: $(21, 30)$, $(20, 31)$, $(60, 30)$, $(20, 90)$.

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $155$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $155$ камней или больше. В начальный момент в первой куче было $15$ камней, во второй куче – $S$ камней; $1 \leq S \leq 139$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $3$: $(15;S)\rightarrow(15;3S)\rightarrow(15;9S)$.

Для победы Вани:

$15+9S\geq155$,
$9S\geq140$,
$S\geq15{,}56\ldots$

Минимальное целое значение $S=16$.

Проверка: после хода Пети $(15;48)$ сумма равна $63<155$, а после хода Вани $(15;144)$ сумма равна $159\geq155$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 1, b), (a, b + 1),
            (a * 3, b), (a, b * 3)]

for S in range(1, 140):
    if any(
        a + b < 155 and
        any(x + y >= 155 for x, y in moves(a, b))
        for a, b in moves(15, S)
    ):
        print(S)
        break

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

Программа выведет: $16$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
6. Задание #295205
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $3$ камня;
– убрать из кучи $8$ камней;
– уменьшить количество камней в куче в $3$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $17$, $12$ или $6$ камней.

Игра завершается, когда количество камней в куче становится не более $16$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $16$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 17$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $17$ до $50$, так как при делении на $3$ получится не более $16$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq51$.

Проверим минимальное значение $S=51$. После любого хода Пети получится:

$51\rightarrow48$;
$51\rightarrow43$;
$51\rightarrow17$.

Из каждой позиции Ваня выигрывает одним ходом:

$48\rightarrow16$;
$43\rightarrow14$;
$17\rightarrow14$.

Следовательно, минимальное значение $S=51$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 3, x - 8, x // 3]

def win1(x):
    return x > 16 and any(y <= 16 for y in moves(x))

for S in range(17, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $51$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
7. Задание #295208
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $2$ камня;
– убрать из кучи $4$ камня;
– уменьшить количество камней в куче в $3$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $18$, $16$ или $6$ камней.

Игра завершается, когда количество камней в куче становится не более $17$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $17$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 18$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $18$ до $53$, так как при делении на $3$ получится не более $17$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq54$.

Проверим минимальное значение $S=54$. После любого хода Пети получится:

$54\rightarrow52$;
$54\rightarrow50$;
$54\rightarrow18$.

Из каждой позиции Ваня выигрывает одним ходом:

$52\rightarrow17$;
$50\rightarrow16$;
$18\rightarrow6$.

Следовательно, минимальное значение $S=54$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 2, x - 4, x // 3]

def win1(x):
    return x > 17 and any(
        y <= 17 for y in moves(x)
    )

for S in range(18, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $54$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
8. Задание #295213
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $3$ камня;
– убрать из кучи $7$ камней;
– уменьшить количество камней в куче в $4$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $17$, $13$ или $5$ камней.

Игра завершается, когда количество камней в куче становится не более $15$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $15$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 16$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $16$ до $63$, так как при делении на $4$ получится не более $15$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq64$.

Проверим минимальное значение $S=64$. После любого хода Пети получится:

$64\rightarrow61$;
$64\rightarrow57$;
$64\rightarrow16$.

Из каждой позиции Ваня выигрывает одним ходом:

$61\rightarrow15$;
$57\rightarrow14$;
$16\rightarrow4$.

Следовательно, минимальное значение $S=64$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 3, x - 7, x // 4]

def win1(x):
    return x > 15 and any(
        y <= 15 for y in moves(x)
    )

for S in range(16, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $64$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
9. Задание #295218
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в три раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

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

В начальный момент в куче было $S$ камней; $1 \leq S \leq 66$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $23$ до $66$, так как $23\cdot3=69\geq67$.

Значит, Петя не может выиграть первым ходом при $S\leq22$.

Проверим $S=22$. После любого хода Пети получится:

$22\rightarrow23$;
$22\rightarrow26$;
$22\rightarrow66$.

Из каждой позиции Ваня выигрывает одним ходом:

$23\rightarrow69$;
$26\rightarrow78$;
$66\rightarrow67$.

Следовательно, подходит $S=22$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x + 4, x * 3]

def win1(x):
    return x < 67 and any(
        y >= 67 for y in moves(x)
    )

for S in range(1, 67):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)

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

Программа выведет: $22$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
10. Задание #295223
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $2$ камня;
– убрать из кучи $4$ камня;
– уменьшить количество камней в куче в $4$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $18$, $16$ или $5$ камней.

Игра завершается, когда количество камней в куче становится не более $23$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $23$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 24$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $24$ до $95$, так как при делении на $4$ получится не более $23$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq96$.

Проверим минимальное значение $S=96$. После любого хода Пети получится:

$96\rightarrow94$;
$96\rightarrow92$;
$96\rightarrow24$.

Из каждой позиции Ваня выигрывает одним ходом:

$94\rightarrow23$;
$92\rightarrow23$;
$24\rightarrow22$.

Следовательно, минимальное значение $S=96$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 2, x - 4, x // 4]

def win1(x):
    return x > 23 and any(
        y <= 23 for y in moves(x)
    )

for S in range(24, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $96$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
11. Задание #295225
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $3$ камня;
– убрать из кучи $5$ камней;
– уменьшить количество камней в куче в $4$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $17$, $15$ или $5$ камней.

Игра завершается, когда количество камней в куче становится не более $30$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $30$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 31$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $31$ до $123$, так как при делении на $4$ получится не более $30$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq124$.

Проверим минимальное значение $S=124$. После любого хода Пети получится:

$124\rightarrow121$;
$124\rightarrow119$;
$124\rightarrow31$.

Из каждой позиции Ваня выигрывает одним ходом:

$121\rightarrow30$;
$119\rightarrow29$;
$31\rightarrow28$.

Следовательно, минимальное значение $S=124$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 3, x - 5, x // 4]

def win1(x):
    return x > 30 and any(
        y <= 30 for y in moves(x)
    )

for S in range(31, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $124$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
12. Задание #295230
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в куче было $S$ камней, $1 \leq S \leq 65$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $33$ до $65$, так как $33\cdot2=66$.

Значит, Петя не может выиграть первым ходом при $S\leq32$.

Проверим $S=32$. После любого хода Пети получится:

$32\rightarrow33$;
$32\rightarrow64$.

Из каждой позиции Ваня выигрывает одним ходом:

$33\rightarrow66$;
$64\rightarrow128$.

Следовательно, минимальное значение $S=32$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x * 2]

def win1(x):
    return x < 66 and any(
        y >= 66 for y in moves(x)
    )

for S in range(1, 66):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $32$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
13. Задание #295234
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в два раза. У каждого игрока есть неограниченное количество камней, чтобы делать ходы.

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

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

В начальный момент в куче было $S$ камней; $1 \leq S \leq 57$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $29$ до $57$, так как $29\cdot2=58$.

Значит, Петя не может выиграть первым ходом при $S\leq28$.

Проверим $S=28$. После любого хода Пети получится:

$28\rightarrow29$;
$28\rightarrow32$;
$28\rightarrow56$.

Из каждой позиции Ваня выигрывает одним ходом:

$29\rightarrow58$;
$32\rightarrow64$;
$56\rightarrow112$.

Следовательно, минимальное значение $S=28$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x + 4, x * 2]

def win1(x):
    return x < 58 and any(
        y >= 58 for y in moves(x)
    )

for S in range(1, 58):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $28$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
14. Задание #295260
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было семь камней, во второй куче – $S$ камней; $1 \leq S \leq 73$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $2$: $(7;S)\rightarrow(7;2S)\rightarrow(7;4S)$.

Для победы Вани:

$7+4S\geq81$,
$4S\geq74$,
$S\geq18{,}5$.

Минимальное целое значение $S=19$.

Проверка: после хода Пети $(7;38)$ сумма равна $45<81$, а после хода Вани $(7;76)$ сумма равна $83\geq81$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 1, b), (a, b + 1),
            (a * 2, b), (a, b * 2)]

for S in range(1, 74):
    if any(
        a + b < 81 and
        any(x + y >= 81 for x, y in moves(a, b))
        for a, b in moves(7, S)
    ):
        print(S)
        break

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

Программа выведет: $19$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
15. Задание #295264
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в два раза. У каждого игрока есть неограниченное количество камней, чтобы делать ходы.

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

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

В начальный момент в куче было $S$ камней; $1 \leq S \leq 50$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $26$ до $50$, так как $26\cdot2=52\geq51$.

Значит, Петя не может выиграть первым ходом при $S\leq25$.

Проверим $S=25$. После любого хода Пети получится:

$25\rightarrow26$;
$25\rightarrow29$;
$25\rightarrow50$.

Из каждой позиции Ваня выигрывает одним ходом:

$26\rightarrow52$;
$29\rightarrow58$;
$50\rightarrow51$.

Следовательно, минимальное значение $S=25$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x + 4, x * 2]

def win1(x):
    return x < 51 and any(
        y >= 51 for y in moves(x)
    )

for S in range(1, 51):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $25$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
16. Задание #295268
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– добавить в одну из куч (по своему выбору) $2$ камня;
– увеличить количество камней в одной из куч (по своему выбору) в $2$ раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим $(20, 30)$. Тогда за один ход можно получить любую из четырёх позиций: $(22, 30)$, $(20, 32)$, $(40, 30)$, $(20, 60)$.

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $169$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $169$ камней или больше. В начальный момент в первой куче было $14$ камней, во второй куче – $S$ камней; $1 \leq S \leq 154$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $2$: $(14;S)\rightarrow(14;2S)\rightarrow(14;4S)$.

Для победы Вани:

$14+4S\geq169$,
$4S\geq155$,
$S\geq38{,}75$.

Минимальное целое значение $S=39$.

Проверка: после хода Пети $(14;78)$ сумма равна $92<169$, а после хода Вани $(14;156)$ сумма равна $170\geq169$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 2, b), (a, b + 2),
            (a * 2, b), (a, b * 2)]

for S in range(1, 155):
    if any(
        a + b < 169 and
        any(x + y >= 169 for x, y in moves(a, b))
        for a, b in moves(14, S)
    ):
        print(S)
        break

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

Программа выведет: $39$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
17. Задание #295272
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в куче было $S$ камней, $1 \leq S \leq 37$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $19$ до $37$, так как $19\cdot2=38$.

Значит, Петя не может выиграть первым ходом при $S\leq18$.

Проверим $S=18$. После любого хода Пети получится:

$18\rightarrow19$;
$18\rightarrow36$.

Из каждой позиции Ваня выигрывает одним ходом:

$19\rightarrow38$;
$36\rightarrow72$.

Следовательно, минимальное значение $S=18$.

Второй способ – решение с помощью Python

def moves(x):
    return [x + 1, x * 2]

def win1(x):
    return x < 38 and any(
        y >= 38 for y in moves(x)
    )

for S in range(1, 38):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $18$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
18. Задание #295276
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– добавить в одну из куч (по своему выбору) $3$ камня;
– увеличить количество камней в одной из куч (по своему выбору) в $2$ раза.

Например, пусть в одной куче $20$ камней, а в другой $30$ камней; такую позицию в игре обозначим $(20, 30)$. Тогда за один ход можно получить любую из четырёх позиций: $(23, 30)$, $(20, 33)$, $(40, 30)$, $(20, 60)$.

Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее $135$. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую игровую позицию, при которой в двух кучах суммарно $135$ камней или больше. В начальный момент в первой куче было $13$ камней, во второй куче – $S$ камней; $1 \leq S \leq 121$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $2$: $(13;S)\rightarrow(13;2S)\rightarrow(13;4S)$.

Для победы Вани:

$13+4S\geq135$,
$4S\geq122$,
$S\geq30{,}5$.

Минимальное целое значение $S=31$.

Проверка: после хода Пети $(13;62)$ сумма равна $75<135$, а после хода Вани $(13;124)$ сумма равна $137\geq135$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 3, b), (a, b + 3),
            (a * 2, b), (a, b * 2)]

for S in range(1, 122):
    if any(
        a + b < 135 and
        any(x + y >= 135 for x, y in moves(a, b))
        for a, b in moves(13, S)
    ):
        print(S)
        break

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

Программа выведет: $31$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
19. Задание #295280
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в три раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было шесть камней, во второй куче – $S$ камней; $1 \leq S \leq 58$.

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

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

Первый способ – математическое решение

Чтобы получить минимальное $S$, Петя и Ваня должны максимально увеличивать вторую кучу — умножать её на $3$: $(6;S)\rightarrow(6;3S)\rightarrow(6;9S)$.

Для победы Вани:

$6+9S\geq65$,
$9S\geq59$,
$S\geq6{,}56\ldots$

Минимальное целое значение $S=7$.

Проверка: после хода Пети $(6;21)$ сумма равна $27<65$, а после хода Вани $(6;63)$ сумма равна $69\geq65$.

Второй способ – решение с помощью Python

def moves(a, b):
    return [(a + 1, b), (a, b + 1),
            (a * 3, b), (a, b * 3)]

for S in range(1, 59):
    if any(
        a + b < 65 and
        any(x + y >= 65 for x, y in moves(a, b))
        for a, b in moves(6, S)
    ):
        print(S)
        break

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

Программа выведет: $7$.

Показать
Очки опыта 20
Спросить Зави
Сообщить о проблеме
20. Задание #295283
Задание было решено верно
Задание было решено неверно

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

За один ход игрок может:
– убрать из кучи $3$ камня;
– убрать из кучи $5$ камней;
– уменьшить количество камней в куче в $4$ раза (количество камней, полученное при делении, округляется до меньшего).

Например, из кучи в $20$ камней за один ход можно получить кучу из $17$, $15$ или $5$ камней.

Игра завершается, когда количество камней в куче становится не более $10$. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из $10$ или менее камней. В начальный момент в куче было $S$ камней, $S \geq 11$.

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

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

Первый способ – математическое решение

За один ход можно выиграть из любой позиции от $11$ до $43$, так как при делении на $4$ получится не более $10$ камней.

Значит, Петя не может выиграть первым ходом при $S\geq44$.

Проверим $S=44$. После любого хода Пети получится:

$44\rightarrow41$;
$44\rightarrow39$;
$44\rightarrow11$.

Из каждой позиции Ваня выигрывает одним ходом:

$41\rightarrow10$;
$39\rightarrow9$;
$11\rightarrow8$.

Следовательно, минимальное значение $S=44$.

Второй способ – решение с помощью Python

def moves(x):
    return [x - 3, x - 5, x // 4]

def win1(x):
    return x > 10 and any(
        y <= 10 for y in moves(x)
    )

for S in range(11, 1000):
    if not win1(S) and all(win1(x) for x in moves(S)):
        print(S)
        break

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

Программа выведет: $44$.

Показать
Очки опыта 20
Спросить Зави
03:50:00
Решено заданий: 0 из
0 заданий сегодня