http://www.the-refugees.com/
fsbqrxpvx
bsrerinur
zjg/avthj
rvhgcprbf
bgearqolh
suqtpabjj
lbhznlxab
puzzle.txt
- 1
set puz [string trim [ReadAttachment "puzzle.txt" ]]
|
fsbqrxpvx
bsrerinur
zjg/avthj
rvhgcprbf
bgearqolh
suqtpabjj
lbhznlxab
|
- 2
set lines [split $puz "\n" ]
|
fsbqrxpvx bsrerinur zjg/avthj rvhgcprbf bgearqolh suqtpabjj lbhznlxab
|
- 3
regsub -all {[^a-z/]} $puz {} smashed ; set smashed
|
fsbqrxpvxbsrerinurzjg/avthjrvhgcprbfbgearqolhsuqtpabjjlbhznlxab
|
- 4
set chars [split $smashed ""]
|
f s b q r x p v x b s r e r i n u r z j g / a v t h j r v h g c p r b f b g e a r q o l h s u q t p a b j j l b h z n l x a b
|
- 5
# single char histogram
foreach c $chars { append histo($c) $c }
- 6
foreach c [lsort [array names histo]] { Echo $histo($c) }
|
/
aaaa
bbbbbbb
c
ee
ff
ggg
hhhh
i
jjjj
lll
nn
o
ppp
qqq
rrrrrrr
sss
tt
uu
vvv
xxx
zz
|
- 7
# bigraph histogram
foreach {a b} $chars { lappend bihisto($a$b) $a$b }
- 8
foreach {a b} [lrange $chars 1 end] { lappend bihisto($a$b) $a$b }
- 9
foreach bi [lsort [array names bihisto]] { Echo $bihisto($bi) }
|
/a
ab ab
ar
av
b
bf
bg
bh
bj
bq
bs
cp
ea
er
fb
fs
g/
gc
ge
hg
hj
hs
hz
in
jg
jj
jl
jr
lb
lh
lx
nl
nu
ol
pa
pr
pv
qo
qr
qt
rb
re
ri
rq
rv
rx
rz
sb
sr
su
th
tp
uq
ur
vh
vt
vx
xa
xb
xp
zj
zn
|
- 10
# bigraphs reversed
foreach {b a} $chars { lappend rbihisto($a$b) $a$b }
- 11
foreach {b a} [lrange $chars 1 end] { lappend rbihisto($a$b) $a$b }
- 12
foreach bi [lsort [array names rbihisto]] { Echo $rbihisto($bi) }
|
/g
a/
ae
ap
ax
b
ba ba
bf
bl
br
bs
bx
cg
eg
er
fb
gb
gh
gj
hb
hl
ht
hv
ir
jb
jh
jj
jz
lj
ln
lo
ni
nz
oq
pc
pt
px
qb
qr
qu
ra
re
rj
rp
rq
rs
ru
sb
sf
sh
tq
tv
un
us
va
vp
vr
xl
xr
xv
zh
zr
|
- 13
# ranges of alphabet
regsub -all {[a-m]} $lines . secondHalf ; set secondHalf
|
.s.qrxpvx .sr.r.nur z../.vt.. rv...pr.. ....rqo.. suqtp.... ...zn.x..
|
- 14
regsub -all {[n-z]} $lines . firstHalf ; set firstHalf
|
f.b...... b..e.i... .jg/a..hj ..hgc..bf bgea...lh .....abjj lbh..l.ab
|
- 15
regsub -all {[acegikmoqsuwy]} $lines . evenLetters ; set evenLetters
|
f.b.rxpvx b.r.r.n.r zj./.vthj rvh..prbf b...r..lh ...tp.bjj lbhznlx.b
|
- 16
regsub -all {[aeiou]} $lines . noAeiou ; set noAeiou
|
fsbqrxpvx bsr.r.n.r zjg/.vthj rvhgcprbf bg..rq.lh s.qtp.bjj lbhznlx.b
|
- 17
regsub -all {[^aeiou]} $lines . aeiou ; set aeiou
|
.............e.i.u......a.................ea..o....u...a...........a.
|
- 18
# frequent letters
foreach c [lsort [array names histo]] {
if { 3 <= [string length $histo($c)] } {
append threeOrMore $c
}
} ; return $threeOrMore
- 19
# bigraphsOfThreeOrMore
set regexp3 "^\[$threeOrMore\]\[$threeOrMore\]$"
|
^[abghjlpqrsvx][abghjlpqrsvx]$
|
- 20
foreach bi [lsort [array names bihisto]] {
if [regexp $regexp3 $bi] { lappend bigraphsOfThreeOrMore $bi }
} ; return $bigraphsOfThreeOrMore
|
ab ar av bg bh bj bq bs hg hj hs jg jj jl jr lb lh lx pa pr pv qr rb rq rv rx sb sr vh vx xa xb xp
|