All pastes #906167 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-16 11:38 UTC
rendered paste body
import time,sys

#T(a, 0) = 1
#T(0, b) = T(1, b-1)
#T(24, b) = T(23, b)
#T(a, b) = T(a-1, b-1) + T(a+1, b-1)

def T(a, b):
    if b==1 or b==0: return 1
    if a==0: return T(1, b-1)
    if a==25: return T(24, b-1)
    return T(a-1, b-1) + T(a+1, b-1)

#counter=0

def triv(n):
    #global counter
    #counter+=1
    if n==0:return 1
    else:return triv(n-1)+triv(n-1)

def memoizate(f):
    class F:
        def __init__(self, f):
            self.f=f
            self.m={}
        def call(self, *args):
            #print args
            targs=tuple(args)
            #print targs
            try:
                return self.m[targs]
            except:
                res=self.f(*args)
                self.m[targs]=res
                return res
    _f=F(f)
    return lambda *a:_f.call(*a)

sys.setrecursionlimit(20000)

T=memoizate(T)

def get_uohg(a):
    return sum([T(i, a) for i in range(25)])

for arg in sys.argv:
    try:
        uohg = get_uohg(int(arg))
        print arg, uohg
    except:
        pass