Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Anagrams/Maxima/anagrams.maxima
Normal file
39
Task/Anagrams/Maxima/anagrams.maxima
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
read_file(name) := block([file, s, L], file: openr(name), L: [],
|
||||
while stringp(s: readline(file)) do L: cons(s, L), close(file), L)$
|
||||
|
||||
u: read_file("C:/my/mxm/unixdict.txt")$
|
||||
|
||||
v: map(lambda([s], [ssort(s), s]), u)$
|
||||
|
||||
w: sort(v, lambda([x, y], orderlessp(x[1], y[1])))$
|
||||
|
||||
ana(L) := block([m, n, p, r, u, v, w],
|
||||
L: endcons(["", ""], L),
|
||||
n: length(L),
|
||||
r: "",
|
||||
m: 0,
|
||||
v: [ ],
|
||||
w: [ ],
|
||||
for i from 1 thru n do (
|
||||
u: L[i],
|
||||
if r = u[1] then (
|
||||
w: cons(u[2], w)
|
||||
) else (
|
||||
p: length(w),
|
||||
if p >= m then (
|
||||
if p > m then (m: p, v: []),
|
||||
v: cons(w, v)
|
||||
),
|
||||
w: [u[2]],
|
||||
r: u[1]
|
||||
)
|
||||
),
|
||||
v)$
|
||||
|
||||
ana(w);
|
||||
/* [["evil", "levi", "live", "veil", "vile"],
|
||||
["elan", "lane", "lean", "lena", "neal"],
|
||||
["alger", "glare", "lager", "large", "regal"],
|
||||
["angel", "angle", "galen", "glean", "lange"],
|
||||
["caret", "carte", "cater", "crate", "trace"],
|
||||
["abel", "able", "bale", "bela", "elba"]] */
|
||||
Loading…
Add table
Add a link
Reference in a new issue