34 lines
837 B
Plaintext
34 lines
837 B
Plaintext
(setq *Blocks
|
|
'((B O) (X K) (D Q) (C P) (N A) (G T) (R E)
|
|
(T G) (Q D) (F S) (J W) (H U) (V I) (A N)
|
|
(O B) (E R) (F S) (L Y) (P C) (Z M) ) )
|
|
(setq *Words '("" "1" "A" "BARK" "BOOK" "TREAT"
|
|
"Bbb" "COMMON" "SQUAD" "Confuse"
|
|
"abba" "ANBOCPDQERSFTGUVWXLZ") )
|
|
|
|
(de abc (W B)
|
|
(let Myblocks (copy B)
|
|
(fully
|
|
'((C)
|
|
(when (seek '((Lst) (member C (car Lst))) Myblocks)
|
|
(set @)
|
|
T ) )
|
|
(chop (uppc W)) ) ) )
|
|
|
|
(de abcR (W B)
|
|
(nond
|
|
((car W) T)
|
|
((car B) NIL)
|
|
(NIL
|
|
(setq W (chop W))
|
|
(let? I
|
|
(find
|
|
'((Lst) (member (uppc (car W)) Lst))
|
|
B )
|
|
(abcR (cdr W) (delete I B)) ) ) ) )
|
|
|
|
(for Word *Words
|
|
(println Word (abc Word *Blocks) (abcR Word *Blocks)) )
|
|
|
|
(bye)
|