Игра ним с тремя кучами для одного игрока без ограничений на количество забираемых камней.
на первой, второй и третьей строках указывается начальное количество камней в первой, второй и третьей кучах. далее идут ходы, каждый из которых представляется двумя числами на отдельных строках: на первой строке число 1, 2 или 3 — номер кучи, из которой берутся камни; на второй строке — количество забираемых камней.
программа выводит количество камней в трёх кучах после каждого хода.
формат ввода
первые три строки содержат количество камней в первой, второй и третьей кучках, соответственно.
далее следуют описания ходов в формате, описанном в условии. гарантируется, что количество забираемых камней каждый раз корректное, и что последним ходом игрок забирает последний камень.
формат вывода
в ответ на каждый ход игрока выведите три числа на одной строке через пробел — количество камней в первой, второй и третьей кучках после этого хода.
питон
Для начала, нам нужно считать количество камней в трех кучах. Для этого мы можем использовать функцию input(), чтобы попросить пользователя ввести три числа на первых трех строках. Например:
```python
first_pile = int(input()) # количество камней в первой куче
second_pile = int(input()) # количество камней во второй куче
third_pile = int(input()) # количество камней в третьей куче
```
Теперь, когда у нас есть начальные значения камней в кучах, мы можем перейти к описанию ходов. Мы будем использовать цикл while, чтобы продолжать игру до тех пор, пока есть камни в кучах. Каждая итерация цикла будет представлять собой один ход игрока.
Для каждого хода, мы сначала должны получить от пользователя номер кучи (1, 2 или 3), из которой он хочет взять камни. Затем, мы должны получить от пользователя количество забираемых камней. Например:
```python
while first_pile > 0 or second_pile > 0 or third_pile > 0:
pile_number = int(input()) # номер кучи
stones_taken = int(input()) # количество забираемых камней
```
Теперь, когда у нас есть номер кучи и количество забираемых камней, мы должны обновить количество камней в выбранной куче. Воспользуемся условным оператором if для проверки номера кучи и соответствующего обновления количества камней. Например:
```python
if pile_number == 1:
first_pile -= stones_taken
elif pile_number == 2:
second_pile -= stones_taken
elif pile_number == 3:
third_pile -= stones_taken
```
Наконец, мы выводим обновленное количество камней в каждой куче. Например:
```python
print(first_pile, second_pile, third_pile)
```
Полный код программы будет выглядеть так:
```python
first_pile = int(input()) # количество камней в первой куче
second_pile = int(input()) # количество камней во второй куче
third_pile = int(input()) # количество камней в третьей куче
while first_pile > 0 or second_pile > 0 or third_pile > 0:
pile_number = int(input()) # номер кучи
stones_taken = int(input()) # количество забираемых камней
if pile_number == 1:
first_pile -= stones_taken
elif pile_number == 2:
second_pile -= stones_taken
elif pile_number == 3:
third_pile -= stones_taken
print(first_pile, second_pile, third_pile)
```
Теперь, используя этот код, программа будет просить пользователя ввести количество камней в каждой куче и описывать ходы игрока, выводя обновленное количество камней после каждого хода.