Advertisement
Pastehsjsjs

Untitled

Feb 9th, 2023
788
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.39 KB | Source Code | 0 0
  1. import sys
  2. from functools import lru_cache
  3.  
  4. sys.setrecursionlimit(100000000)
  5.  
  6.  
  7. def moves(h):
  8.     if h == 1:
  9.         return [0]
  10.     d = []
  11.     for i in range(1, (h // 2) + 1):
  12.         d.append(h - i)
  13.     return d
  14.  
  15.  
  16. @lru_cache(None)
  17. def f(h):
  18.     if h == 0:
  19.         return 'END'
  20.     elif (any(f(i) == 'END' for i in moves(h))):
  21.         return 'П1'
  22.     elif (all(f(i) == 'П1' for i in moves(h))):
  23.         return 'В1'
  24.     elif (any(f(i) == 'В1' for i in moves(h))):
  25.         return 'П2'
  26.     elif (all(f(i) == 'П2' for i in moves(h))):
  27.         return 'В2'
  28.     elif (any(f(i) == 'В2' for i in moves(h))):
  29.         return 'П3'
  30.     elif (all(f(i) == 'П3' for i in moves(h))):
  31.         return 'В3'
  32.     elif (any(f(i) == 'В3' for i in moves(h))):
  33.         return 'П4'
  34.     elif (all(f(i) == 'П4' for i in moves(h))):
  35.         return 'В4'
  36.     elif (any(f(i) == 'В4' for i in moves(h))):
  37.         return 'П5'
  38.  
  39.     elif (all(f(i) == 'П5' for i in moves(h))):
  40.         return 'В5'
  41.  
  42.     elif (any(f(i) == 'В5' for i in moves(h))):
  43.         return 'П6'
  44.  
  45.     elif (all(f(i) == 'П6' for i in moves(h))):
  46.         return 'В6'
  47.  
  48.     elif (any(f(i) == 'В6' for i in moves(h))):
  49.         return 'П7'
  50.  
  51.     elif (all(f(i) == 'П7' for i in moves(h))):
  52.         return 'В7'
  53.  
  54.     elif (any(f(i) == 'В7' for i in moves(h))):
  55.         return 'П8'
  56.  
  57.     elif (all(f(i) == 'П8' for i in moves(h))):
  58.         return 'В8'
  59.  
  60.     elif (any(f(i) == 'В8' for i in moves(h))):
  61.         return 'П9'
  62.  
  63.     elif (all(f(i) == 'П9' for i in moves(h))):
  64.         return 'В9'
  65.  
  66.     elif (any(f(i) == 'В9' for i in moves(h))):
  67.         return 'П10'
  68.  
  69.     elif (all(f(i) == 'П10' for i in moves(h))):
  70.         return 'В10'
  71.  
  72.     elif (any(f(i) == 'В10' for i in moves(h))):
  73.         return 'П11'
  74.  
  75.     elif (all(f(i) == 'П11' for i in moves(h))):
  76.         return 'В11'
  77.  
  78.     elif (any(f(i) == 'В11' for i in moves(h))):
  79.         return 'П12'
  80.  
  81.     elif (all(f(i) == 'П12' for i in moves(h))):
  82.         return 'В12'
  83.  
  84.     elif (any(f(i) == 'В12' for i in moves(h))):
  85.         return 'П13'
  86.  
  87.     elif (all(f(i) == 'П13' for i in moves(h))):
  88.         return 'В13'
  89.  
  90.     elif (any(f(i) == 'В13' for i in moves(h))):
  91.         return 'П14'
  92.  
  93.     elif (all(f(i) == 'П14' for i in moves(h))):
  94.         return 'В14'
  95.  
  96.     elif (any(f(i) == 'В14' for i in moves(h))):
  97.         return 'П15'
  98.  
  99.     elif (all(f(i) == 'П15' for i in moves(h))):
  100.         return 'В15'
  101.  
  102.     elif (any(f(i) == 'В15' for i in moves(h))):
  103.         return 'П16'
  104.  
  105.     elif (all(f(i) == 'П16' for i in moves(h))):
  106.         return 'В16'
  107.  
  108.     elif (any(f(i) == 'В16' for i in moves(h))):
  109.         return 'П17'
  110.  
  111.     elif (all(f(i) == 'П17' for i in moves(h))):
  112.         return 'В17'
  113.  
  114.     elif (any(f(i) == 'В17' for i in moves(h))):
  115.         return 'П18'
  116.  
  117.     elif (all(f(i) == 'П18' for i in moves(h))):
  118.         return 'В18'
  119.  
  120.     elif (any(f(i) == 'В18' for i in moves(h))):
  121.         return 'П19'
  122.  
  123.     elif (all(f(i) == 'П19' for i in moves(h))):
  124.         return 'В19'
  125.  
  126.  
  127. v = '''
  128. elif (all(f(i) == 'П{}' for i in moves(h))):
  129.    return 'В{}'
  130. '''
  131.  
  132. p = '''
  133. elif (any(f(i) == 'В{}' for i in moves(h))):
  134.        return 'П{}'
  135. '''
  136.  
  137. s = []
  138. for x in range(5, 20):
  139.     s.append(p.format(x - 1, x))
  140.     s.append(v.format(x, x))
  141. # print(''.join(s))
  142. for i in range(1001, 2000):
  143.     print(i, f(i))
  144.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement