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, НО ПОТОМ ПОМЕНЯТЬ ОБРАТНО