17 lines
478 B
Python
17 lines
478 B
Python
def mkword(w, b):
|
|
if not w: return []
|
|
|
|
c,w = w[0],w[1:]
|
|
for i in range(len(b)):
|
|
if c in b[i]:
|
|
m = mkword(w, b[0:i] + b[i+1:])
|
|
if m != None: return [b[i]] + m
|
|
|
|
def abc(w, blk):
|
|
return mkword(w.upper(), [a.upper() for a in blk])
|
|
|
|
blocks = 'BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM'.split()
|
|
|
|
for w in ", A, bark, book, treat, common, SQUAD, conFUsEd".split(', '):
|
|
print '\'' + w + '\'' + ' ->', abc(w, blocks)
|