Advertisement
Guest User

Untitled

a guest
Jul 24th, 2022
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.66 KB | None | 0 0
  1. def f(k,n):
  2.     matN = int(k*(k+1)/2)
  3.     v = [1]*matN
  4.     vTemp = [0]*matN
  5.     for _ in range(n):
  6.         bSize = 1
  7.         for bI in range(k-1, -1, -1):
  8.             currAdd = 0
  9.             for bII in range(bSize-1, -1, -1):
  10.                 realI = matN - int(bSize*(bSize+1)/2) + bII
  11.                 if bII==0:
  12.                     vTemp[realI] = v[realI] + (vTemp[realI+1] if bSize>1 else 0)
  13.                 else:
  14.                     currAdd += 2*v[realI]
  15.                     correspI = matN - int(bSize*(bSize-1)/2) + bII-1
  16.                     vTemp[realI] = currAdd + vTemp[correspI]
  17.             bSize += 1
  18.         v, vTemp = vTemp, v
  19.     return v[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement