42 lines
601 B
Plaintext
42 lines
601 B
Plaintext
decode(list l)
|
|
{
|
|
integer c, e;
|
|
data al, s;
|
|
|
|
al = "abcdefghijklmnopqrstuvwxyz";
|
|
for (, e in l) {
|
|
s.append(c = al[e]);
|
|
al.delete(e).insert(0, c);
|
|
}
|
|
|
|
s;
|
|
}
|
|
|
|
encode(data s)
|
|
{
|
|
integer c, e;
|
|
data al;
|
|
list l;
|
|
|
|
al = "abcdefghijklmnopqrstuvwxyz";
|
|
for (, c in s) {
|
|
l.append(e = al.place(c));
|
|
al.delete(e).insert(0, c);
|
|
}
|
|
|
|
l;
|
|
}
|
|
|
|
main(void)
|
|
{
|
|
for (, text s in list("broood", "bananaaa", "hiphophiphop")) {
|
|
list l;
|
|
|
|
l = encode(s);
|
|
l.ucall(o_, 1, " ");
|
|
o_(": ", decode(l), "\n");
|
|
}
|
|
|
|
0;
|
|
}
|