Advertisement
stupid_pro

Stones_count_HOD

Jan 28th, 2023 (edited)
929
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.19 KB | None | 0 0
  1. def game(s1, s, hod):
  2.     if hod == 4:
  3.         return s1+s>=75
  4.     else:
  5.         if s1+s>=75:
  6.             return False
  7.  
  8.     if hod % 2 == 1:
  9.         return game(s1+1,s,hod+1) or game(s1,s+1,hod+1) or game(s1*2,s,hod+1) or game(s1,s*2,hod+1)
  10.     elif hod==2:
  11.         return game(s1+1,s, hod+1) and game(s1,s+1, hod+1) and game(s1*2,s, hod+1) and game(s1,s*2, hod+1)
  12.     elif hod == 0:
  13.         return (game(s1+1,s,hod+1) or game(s1+1,s,hod+3)) and (game(s1,s+1,hod+1) or game(s1,s+1,hod+3)) and (game(s1*2,s,hod+1) or game(s1*2,s,hod+3)) and(game(s1,s*2,hod+1) or game(s1,s*2,hod+3))
  14.  
  15.  
  16. print('Выигрыш первым ходом:')
  17. for i in range(1, 67):
  18.     if game(8,i,3):
  19.         print(i, end = ' ')
  20.  
  21. print('\n\nВыигрыш вторым ходом:')
  22. for i in range(1, 67):
  23.     if game(8,i,2):
  24.         print(i, end = ' ')
  25.  
  26. print('\n\nВыигрыш третьим ходом(ответ на КИМ 20):')
  27. for i in range(1, 67):
  28.     if game(8,i,1):
  29.         print(i, end = ' ')
  30.  
  31. print('\n\nВыигрыш четвертым, но не вторым ходом(ответ на КИМ 21):')
  32. for i in range(1, 67):
  33.     if game(8,i,0) and not game(8,i,2):
  34.         print(i, end = ' ')
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement