# Stones_count_intuitive

Jan 28th, 2023 (edited)
847
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. # or - умный, and - бот
2.
3. def win(s1,s):
4.     return s1+s>=75
5.
6. def first(s1,s):
7.     return (win(s1+1,s) or win(s1,s+1) or win(s1*2,s) or win(s1,s*2)) and not win(s1,s)
8.
9. def second(s1,s):
10.     return first(s1+1,s) and first(s1,s+1) and first(s1*2,s) and first(s1,s*2) and not win(s1,s)
11.
12. def third(s1,s):
13.     return (second(s1+1,s) or second(s1,s+1) or second(s1*2,s) or second(s1,s*2)) and not win(s1,s)
14.
15. def fourth (s1,s):
16.     return (third(s1+1,s) or first(s1+1,s)) and (third(s1,s+1) or first(s1,s+1)) and (third(s1*2,s) or first(s1*2,s)) and (third(s1,s*2) or first(s1,s*2)) and not win(s1,s)
17. '''
18. print('Выигрыш первым ходом:')
19. for i in range(1, 67):
20.    if first(8,i):
21.        print(i, end = ' ')
22.
23. print('\n\nВыигрыш вторым ходом:')
24. for i in range(1, 67):
25.    if second(8,i):
26.        print(i, end = ' ')
27. '''
28.
29. print('\n\nВыигрыш третьим ходом (ответ на КИМ 20):')
30. for i in range(1, 67):
31.     if third(8,i):
32.         print(i, end = ' ')
33.
34. print('\n\nВыигрыш четвёртым, но не вторым ходом (ответ на КИМ 21):')
35. for i in range(1, 67):
36.     if fourth(8,i) and not second(8,i):
37.         print(i, end = ' ')
38.