Как исправить ошибку 'Превышена максимальная глубина рекурсии'

У меня есть код для ЕГЭ. Задания с 19 по 21. Я написал код для этих заданий, но при запуске кода выдает ошибку RecursionError: maximum recursion depth exceeded. Я целый день искал ошибку, гуглил в интернете , но ничего не нашел. Знатоки помогите пожалуйста.

from functools import lru_cache
def xodi(h):
    a,b = h
    return (a+1,b),(a,b+1),(a*4,b),(a,b*4)

@lru_cache(None)
def game(h):
    a,b = h
    if a + b >= 310:
        return 'W'
    if any(game(m)== 'W' for m in xodi(h)):
        return 'P1'
    if any(game(m)== 'P1' for m in xodi(h)):
        return 'B1'
    if any(game(m)== 'B1' for m in xodi(h)):
        return 'P2'
    if all(game(m)== 'P2' or game(m)== 'P1'  for m in xodi(h)):
        return 'B2'

for s in range(1, 101):
    h = (16, s)
    if game(h) is not (None):
        print(s, game(h))
    

Вот собственно самое задание, прошу именно решить по моему коду, не писать новый. введите сюда описание изображения


Ответы (1 шт):

Автор решения: RuslanZanevskiy
import sys

sys.setrecursionlimit(2000) # по умолчанию стоит 1000

Это увеличивает возможную глубину рекурсии до конкретного значения

→ Ссылка