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
|