S - куча m- ход
1 куча
def f(s,m):
if #45≤s≤#112: return m%2==0
if m==0: return 0
h=[f(), f()] #условия
return any (h) if (m-1)%2==0 else all (h)
print(’19)’,[s for s in range() for f(#условия)])
print(’20)’,[s for s in range() for f(#условия)])
print(’21)’,[s for s in range() for f(#условия])
2 кучи
def f(a,b,m):
if a+b ИЛИ a*b≥#112: return m%2==0
if m==0: return 0
h=[f(), f(), f(), f()] #условия
return any (h) if (m-1)%2==0 else all (h)
print(’19)’,[s for s in range() for f(#условия)])
print(’20)’,[s for s in range() for f(#условия)])
print(’21)’,[s for s in range() for f(#условия])
ЕСЛИ У ПЕТИ 1 ХОД НЕУДАЧНЫЙ ТО ЗАМЕНЯТЬ ALL НА ANY, НО ПОТОМ ПОМЕНЯТЬ ОБРАТНО