''' P-02 (демо-2023). +1 *2 Win: s >= 129 1 ≤ s ≤ 128 c - порядковый номер хода 1 P,I 2 V,I 3 P,II 4 V,II ''' def f(s, c): # для любой игры противника if s >= 129: # !!! return c % 2 == 0 if c == 0: return 0 t = [f(s+1, c-1), f(s*2, c-1)] # !!! return any(t) if c % 2 != 0 else all(t) mn = 1 # 1 ≤ s ≤ 128 !!! mx = 128 # 1 ≤ s ≤ 128 !!! ''' Задание 19. Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. c 1 P,I 2 V,I !!! Win 3 P,II 4 V,II ''' print('s, любом') for s in range(mn, mx+1): if f(s, 2): print('19:', s) ''' Задание 20. Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия: − Петя не может выиграть за один ход; − Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания. c 1 P,I !!! Not!!! 2 V,I 3 P,II !!! Win 4 V,II ''' print('2 s, в порядке возрастания') for s in range(mn, mx+1): if f(s, 3): if not f(s, 1): print('20:', s) ''' Задание 21. Найдите значение S, при котором одновременно выполняются два условия: – у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети; – у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом. c 1 P,I 2 V,I !!! Win !!! Not!!! 3 P,II 4 V,II !!! Win ''' print('s') for s in range(mn, mx+1): if f(s, 2) or f(s, 4): if not f(s, 2): print('21:', s) ''' 19: 64 20: 32 63 21: 62 s, любом 19: 64 2 s, в порядке возрастания 20: 32 20: 63 s 21: 62 ''' ''' егэ-1921: 39, 41, 125 '''