📋 Условие
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя.
🔍 Подробное решение
Два игрока, Петя и Ваня, играют в следующую игру: перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавлять камни в кучу, убирать камни или изменять количество камней в куче. Игра завершается при достижении определённого количества камней.
Подзадачи:
- Определить минимальное S для выигрыша Вани
- Определить два наименьших S для выигрыша Пети вторым ходом
- Определить S для выигрыша Вани первым или вторым ходом
Общий алгоритм:
```python
def g(s, p):
if s >= target:
return p % 2 == 0
moves = [...]
return any(moves) if p % 2 == 1 else all(moves)
```
Применяется для всех вариантов задач на игры с камнями.
Подзадачи:
- Определить минимальное S для выигрыша Вани
- Определить два наименьших S для выигрыша Пети вторым ходом
- Определить S для выигрыша Вани первым или вторым ходом
Общий алгоритм:
```python
def g(s, p):
if s >= target:
return p % 2 == 0
moves = [...]
return any(moves) if p % 2 == 1 else all(moves)
```
Применяется для всех вариантов задач на игры с камнями.