Update CLI usage and output in README

This commit is contained in:
2023-08-22 18:57:12 -04:00
parent a2630ed82e
commit a78b277516
+314 -327
View File
@@ -57,342 +57,329 @@ To use the script to solve a particular Boggle board configuration, you'll need
```
# Usage
### CLI usage
```console
$ python boggler.py
Usage: python3 boggler.py <BOARD_FILE> <WORDLISTS_DIR> [MAX_WORD_LENGTH]
$ python boggler.py board.csv wordlists/ 15
Reading in wordlists...
>> d: words_d.txt
>> e: words_e.txt
>> f: words_f.txt
>> m: words_m.txt
>> n: words_n.txt
>> o: words_o.txt
>> qu: words_q.txt
>> r: words_r.txt
>> s: words_s.txt
>> v: words_v.txt
>> y: words_y.txt
Generating WordTrees...
>> (0, 0): y
>> (0, 1): e
>> (0, 2): o
>> (0, 3): s
>> (1, 0): r
>> (1, 1): e
>> (1, 2): o
>> (1, 3): v
>> (2, 0): d
>> (2, 1): f
>> (2, 2): e
>> (2, 3): y
>> (3, 0): n
>> (3, 1): m
>> (3, 2): e
>> (3, 3): qu
$ poetry run boggler --help
usage: boggler [-h] [-f FORMAT] [-p] [-s] [-d] board wordlists [max_word_length]
Boggle board game solver
positional arguments:
board Path to board CSV file
wordlists Path to directory of wordlist files. The directory must contain text files of the form words_X.txt where "X" is a character of the
alphabet
max_word_length Maximum length of words searched for on provided board
options:
-h, --help show this help message and exit
-f FORMAT, --format FORMAT
Specify alternative output format including [txt, json]
-p, --include-path Include full paths for each word in output
-s, --sort Sort output alphabetically. By default the results are sorted by the starting block position on the board from top-to-bottom, left-
to-right as given in the board file.
-d, --dedup Remove duplicates from word-only output. Note that de-duplication does not preserve the original order of the output, so it is
recommended to also use the sort option when de-duplicating.
```
### Example
```console
$ poetry run boggler ./boggler/boards/b1.csv boggler/wordlists/scrabble_2019/
BOARD
+---------------+
| Y | E | O | S |
| S | A | I | P |
+---------------+
| R | E | O | V |
| L |QU | A | Y |
+---------------+
| D | F | E | Y |
| U | L | L | S |
+---------------+
| N | M | E |QU |
| O | W | H | A |
+---------------+
Starting @ (0, 0)...
y : [(0, 0)]
yr : [(0, 0), (1, 0)]
ye : [(0, 0), (1, 1)]
yee : [(0, 0), (1, 1), (0, 1)]
yeo : [(0, 0), (1, 1), (0, 2)]
yed : [(0, 0), (1, 1), (2, 0)]
yee : [(0, 0), (1, 1), (2, 2)]
yer : [(0, 0), (1, 1), (1, 0)]
yere : [(0, 0), (1, 1), (1, 0), (0, 1)]
yerd : [(0, 0), (1, 1), (1, 0), (2, 0)]
yeo : [(0, 0), (1, 1), (1, 2)]
ye : [(0, 0), (0, 1)]
yee : [(0, 0), (0, 1), (1, 1)]
yer : [(0, 0), (0, 1), (1, 0)]
yerd : [(0, 0), (0, 1), (1, 0), (2, 0)]
yere : [(0, 0), (0, 1), (1, 0), (1, 1)]
yeo : [(0, 0), (0, 1), (1, 2)]
yeo : [(0, 0), (0, 1), (0, 2)]
Starting @ (0, 1)...
e : [(0, 1)]
ee : [(0, 1), (1, 1)]
eer : [(0, 1), (1, 1), (1, 0)]
eery : [(0, 1), (1, 1), (1, 0), (0, 0)]
er : [(0, 1), (1, 0)]
erd : [(0, 1), (1, 0), (2, 0)]
erf : [(0, 1), (1, 0), (2, 1)]
ere : [(0, 1), (1, 0), (1, 1)]
eo : [(0, 1), (1, 2)]
eos : [(0, 1), (1, 2), (0, 3)]
eof : [(0, 1), (1, 2), (2, 1)]
ey : [(0, 1), (0, 0)]
eyr : [(0, 1), (0, 0), (1, 0)]
eyre : [(0, 1), (0, 0), (1, 0), (1, 1)]
eye : [(0, 1), (0, 0), (1, 1)]
eyed : [(0, 1), (0, 0), (1, 1), (2, 0)]
eyer : [(0, 1), (0, 0), (1, 1), (1, 0)]
eo : [(0, 1), (0, 2)]
eos : [(0, 1), (0, 2), (0, 3)]
Starting @ (0, 2)...
o : [(0, 2)]
oos : [(0, 2), (1, 2), (0, 3)]
oof : [(0, 2), (1, 2), (2, 1)]
oe : [(0, 2), (1, 1)]
oer : [(0, 2), (1, 1), (1, 0)]
ovey : [(0, 2), (1, 3), (2, 2), (2, 3)]
oe : [(0, 2), (0, 1)]
oer : [(0, 2), (0, 1), (1, 0)]
os : [(0, 2), (0, 3)]
Starting @ (0, 3)...
s : [(0, 3)]
sv : [(0, 3), (1, 3)]
so : [(0, 3), (1, 2)]
sooey : [(0, 3), (1, 2), (0, 2), (1, 1), (0, 0)]
sooey : [(0, 3), (1, 2), (0, 2), (0, 1), (0, 0)]
soe : [(0, 3), (1, 2), (0, 1)]
soe : [(0, 3), (1, 2), (2, 2)]
sofer : [(0, 3), (1, 2), (2, 1), (1, 1), (1, 0)]
soy : [(0, 3), (1, 2), (2, 3)]
soe : [(0, 3), (1, 2), (1, 1)]
sov : [(0, 3), (1, 2), (1, 3)]
so : [(0, 3), (0, 2)]
sooey : [(0, 3), (0, 2), (1, 2), (0, 1), (0, 0)]
sooey : [(0, 3), (0, 2), (1, 2), (2, 2), (2, 3)]
sooey : [(0, 3), (0, 2), (1, 2), (1, 1), (0, 0)]
soe : [(0, 3), (0, 2), (1, 1)]
sov : [(0, 3), (0, 2), (1, 3)]
soe : [(0, 3), (0, 2), (0, 1)]
Starting @ (1, 0)...
r : [(1, 0)]
rye : [(1, 0), (0, 0), (1, 1)]
rye : [(1, 0), (0, 0), (0, 1)]
re : [(1, 0), (0, 1)]
ree : [(1, 0), (0, 1), (1, 1)]
reef : [(1, 0), (0, 1), (1, 1), (2, 1)]
reed : [(1, 0), (0, 1), (1, 1), (2, 0)]
rd : [(1, 0), (2, 0)]
rf : [(1, 0), (2, 1)]
re : [(1, 0), (1, 1)]
ree : [(1, 0), (1, 1), (0, 1)]
ref : [(1, 0), (1, 1), (2, 1)]
red : [(1, 0), (1, 1), (2, 0)]
ree : [(1, 0), (1, 1), (2, 2)]
reem : [(1, 0), (1, 1), (2, 2), (3, 1)]
reef : [(1, 0), (1, 1), (2, 2), (2, 1)]
Starting @ (1, 1)...
e : [(1, 1)]
ee : [(1, 1), (0, 1)]
eer : [(1, 1), (0, 1), (1, 0)]
eery : [(1, 1), (0, 1), (1, 0), (0, 0)]
ey : [(1, 1), (0, 0)]
eyr : [(1, 1), (0, 0), (1, 0)]
eyre : [(1, 1), (0, 0), (1, 0), (0, 1)]
eye : [(1, 1), (0, 0), (0, 1)]
eyer : [(1, 1), (0, 0), (0, 1), (1, 0)]
eo : [(1, 1), (0, 2)]
eos : [(1, 1), (0, 2), (0, 3)]
ef : [(1, 1), (2, 1)]
ed : [(1, 1), (2, 0)]
ee : [(1, 1), (2, 2)]
er : [(1, 1), (1, 0)]
ere : [(1, 1), (1, 0), (0, 1)]
erd : [(1, 1), (1, 0), (2, 0)]
erf : [(1, 1), (1, 0), (2, 1)]
eo : [(1, 1), (1, 2)]
eos : [(1, 1), (1, 2), (0, 3)]
eof : [(1, 1), (1, 2), (2, 1)]
Starting @ (1, 2)...
o : [(1, 2)]
oos : [(1, 2), (0, 2), (0, 3)]
oe : [(1, 2), (0, 1)]
oer : [(1, 2), (0, 1), (1, 0)]
os : [(1, 2), (0, 3)]
oe : [(1, 2), (2, 2)]
of : [(1, 2), (2, 1)]
ofer : [(1, 2), (2, 1), (1, 1), (1, 0)]
oy : [(1, 2), (2, 3)]
oe : [(1, 2), (1, 1)]
oer : [(1, 2), (1, 1), (1, 0)]
ovey : [(1, 2), (1, 3), (2, 2), (2, 3)]
Starting @ (1, 3)...
v : [(1, 3)]
vs : [(1, 3), (0, 3)]
vo : [(1, 3), (0, 2)]
voe : [(1, 3), (0, 2), (1, 1)]
voe : [(1, 3), (0, 2), (0, 1)]
vee : [(1, 3), (2, 2), (1, 1)]
veer : [(1, 3), (2, 2), (1, 1), (1, 0)]
veery : [(1, 3), (2, 2), (1, 1), (1, 0), (0, 0)]
vee : [(1, 3), (2, 2), (3, 2)]
vefry : [(1, 3), (2, 2), (2, 1), (1, 0), (0, 0)]
vo : [(1, 3), (1, 2)]
voe : [(1, 3), (1, 2), (0, 1)]
voe : [(1, 3), (1, 2), (2, 2)]
voe : [(1, 3), (1, 2), (1, 1)]
Starting @ (2, 0)...
d : [(2, 0)]
dr : [(2, 0), (1, 0)]
dry : [(2, 0), (1, 0), (0, 0)]
dree : [(2, 0), (1, 0), (0, 1), (1, 1)]
drey : [(2, 0), (1, 0), (0, 1), (0, 0)]
dree : [(2, 0), (1, 0), (1, 1), (0, 1)]
drey : [(2, 0), (1, 0), (1, 1), (0, 0)]
dree : [(2, 0), (1, 0), (1, 1), (2, 2)]
de : [(2, 0), (1, 1)]
dee : [(2, 0), (1, 1), (0, 1)]
deer : [(2, 0), (1, 1), (0, 1), (1, 0)]
dey : [(2, 0), (1, 1), (0, 0)]
def : [(2, 0), (1, 1), (2, 1)]
dee : [(2, 0), (1, 1), (2, 2)]
deem : [(2, 0), (1, 1), (2, 2), (3, 1)]
der : [(2, 0), (1, 1), (1, 0)]
dere : [(2, 0), (1, 1), (1, 0), (0, 1)]
derf : [(2, 0), (1, 1), (1, 0), (2, 1)]
dn : [(2, 0), (3, 0)]
dm : [(2, 0), (3, 1)]
Starting @ (2, 1)...
f : [(2, 1)]
fe : [(2, 1), (1, 1)]
fee : [(2, 1), (1, 1), (0, 1)]
feer : [(2, 1), (1, 1), (0, 1), (1, 0)]
fey : [(2, 1), (1, 1), (0, 0)]
feyer : [(2, 1), (1, 1), (0, 0), (0, 1), (1, 0)]
fed : [(2, 1), (1, 1), (2, 0)]
fedn : [(2, 1), (1, 1), (2, 0), (3, 0)]
fee : [(2, 1), (1, 1), (2, 2)]
fer : [(2, 1), (1, 1), (1, 0)]
fere : [(2, 1), (1, 1), (1, 0), (0, 1)]
ferd : [(2, 1), (1, 1), (1, 0), (2, 0)]
fr : [(2, 1), (1, 0)]
fry : [(2, 1), (1, 0), (0, 0)]
free : [(2, 1), (1, 0), (0, 1), (1, 1)]
freed : [(2, 1), (1, 0), (0, 1), (1, 1), (2, 0)]
frey : [(2, 1), (1, 0), (0, 1), (0, 0)]
free : [(2, 1), (1, 0), (1, 1), (0, 1)]
frey : [(2, 1), (1, 0), (1, 1), (0, 0)]
fred : [(2, 1), (1, 0), (1, 1), (2, 0)]
free : [(2, 1), (1, 0), (1, 1), (2, 2)]
fo : [(2, 1), (1, 2)]
foo : [(2, 1), (1, 2), (0, 2)]
foe : [(2, 1), (1, 2), (0, 1)]
foe : [(2, 1), (1, 2), (2, 2)]
foy : [(2, 1), (1, 2), (2, 3)]
foe : [(2, 1), (1, 2), (1, 1)]
fm : [(2, 1), (3, 1)]
fn : [(2, 1), (3, 0)]
fe : [(2, 1), (3, 2)]
fee : [(2, 1), (3, 2), (2, 2)]
fey : [(2, 1), (3, 2), (2, 3)]
fem : [(2, 1), (3, 2), (3, 1)]
feme : [(2, 1), (3, 2), (3, 1), (2, 2)]
fe : [(2, 1), (2, 2)]
fee : [(2, 1), (2, 2), (1, 1)]
feed : [(2, 1), (2, 2), (1, 1), (2, 0)]
feer : [(2, 1), (2, 2), (1, 1), (1, 0)]
feere : [(2, 1), (2, 2), (1, 1), (1, 0), (0, 1)]
fee : [(2, 1), (2, 2), (3, 2)]
fem : [(2, 1), (2, 2), (3, 1)]
feme : [(2, 1), (2, 2), (3, 1), (3, 2)]
fey : [(2, 1), (2, 2), (2, 3)]
Starting @ (2, 2)...
e : [(2, 2)]
eo : [(2, 2), (1, 2)]
eos : [(2, 2), (1, 2), (0, 3)]
eof : [(2, 2), (1, 2), (2, 1)]
ee : [(2, 2), (1, 1)]
eer : [(2, 2), (1, 1), (1, 0)]
eery : [(2, 2), (1, 1), (1, 0), (0, 0)]
evoe : [(2, 2), (1, 3), (0, 2), (1, 1)]
evoe : [(2, 2), (1, 3), (0, 2), (0, 1)]
evoe : [(2, 2), (1, 3), (1, 2), (0, 1)]
evoe : [(2, 2), (1, 3), (1, 2), (1, 1)]
ee : [(2, 2), (3, 2)]
em : [(2, 2), (3, 1)]
emf : [(2, 2), (3, 1), (2, 1)]
eme : [(2, 2), (3, 1), (3, 2)]
ef : [(2, 2), (2, 1)]
ey : [(2, 2), (2, 3)]
eye : [(2, 2), (2, 3), (3, 2)]
Starting @ (2, 3)...
y : [(2, 3)]
yo : [(2, 3), (1, 2)]
yoe : [(2, 3), (1, 2), (0, 1)]
yoe : [(2, 3), (1, 2), (2, 2)]
yoe : [(2, 3), (1, 2), (1, 1)]
yquem : [(2, 3), (3, 3), (2, 2), (3, 1)]
yquem : [(2, 3), (3, 3), (3, 2), (3, 1)]
ye : [(2, 3), (3, 2)]
yee : [(2, 3), (3, 2), (2, 2)]
ye : [(2, 3), (2, 2)]
yeo : [(2, 3), (2, 2), (1, 2)]
yee : [(2, 3), (2, 2), (1, 1)]
yee : [(2, 3), (2, 2), (3, 2)]
Starting @ (3, 0)...
n : [(3, 0)]
nd : [(3, 0), (2, 0)]
nm : [(3, 0), (3, 1)]
Starting @ (3, 1)...
m : [(3, 1)]
mf : [(3, 1), (2, 1)]
mfr : [(3, 1), (2, 1), (1, 0)]
mfd : [(3, 1), (2, 1), (2, 0)]
md : [(3, 1), (2, 0)]
me : [(3, 1), (2, 2)]
meo : [(3, 1), (2, 2), (1, 2)]
mee : [(3, 1), (2, 2), (1, 1)]
meed : [(3, 1), (2, 2), (1, 1), (2, 0)]
meer : [(3, 1), (2, 2), (1, 1), (1, 0)]
mev : [(3, 1), (2, 2), (1, 3)]
mee : [(3, 1), (2, 2), (3, 2)]
mn : [(3, 1), (3, 0)]
me : [(3, 1), (3, 2)]
mee : [(3, 1), (3, 2), (2, 2)]
Starting @ (3, 2)...
e : [(3, 2)]
ee : [(3, 2), (2, 2)]
ef : [(3, 2), (2, 1)]
ey : [(3, 2), (2, 3)]
eye : [(3, 2), (2, 3), (2, 2)]
em : [(3, 2), (3, 1)]
emf : [(3, 2), (3, 1), (2, 1)]
eme : [(3, 2), (3, 1), (2, 2)]
emeer : [(3, 2), (3, 1), (2, 2), (1, 1), (1, 0)]
Starting @ (3, 3)...
qu : [(3, 3)]
que : [(3, 3), (2, 2)]
queer : [(3, 3), (2, 2), (1, 1), (1, 0)]
queery : [(3, 3), (2, 2), (1, 1), (1, 0), (0, 0)]
quem : [(3, 3), (2, 2), (3, 1)]
queme : [(3, 3), (2, 2), (3, 1), (3, 2)]
quey : [(3, 3), (2, 2), (2, 3)]
que : [(3, 3), (3, 2)]
quey : [(3, 3), (3, 2), (2, 3)]
quem : [(3, 3), (3, 2), (3, 1)]
queme : [(3, 3), (3, 2), (3, 1), (2, 2)]
Starting @ (0, 0)
╭──────────┬──────────────────────────────────────────────────────────────────╮
│ Word │ Path │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ squall │ [(0, 0), (1, 1), (0, 1), (1, 0), (2, 1)]
│ squall [(0, 0), (1, 1), (1, 2), (2, 2), (2, 1)] │
│ squall [(0, 0), (1, 1), (1, 2), (2, 1), (1, 0)] │
│ squall [(0, 0), (1, 1), (1, 2), (2, 1), (2, 2)] │
│ squally [(0, 0), (1, 1), (1, 2), (2, 1), (2, 2), (1, 3)] │
│ squalls │ [(0, 0), (1, 1), (1, 2), (2, 1), (2, 2), (2, 3)] │
│ squash [(0, 0), (1, 1), (1, 2), (2, 3), (3, 2)] │
│ sal [(0, 0), (0, 1), (1, 0)] │
│ sall │ [(0, 0), (0, 1), (1, 0), (2, 1)] │
│ sallal │ [(0, 0), (0, 1), (1, 0), (2, 1), (1, 2), (2, 2)]
│ sallals │ [(0, 0), (0, 1), (1, 0), (2, 1), (1, 2), (2, 2), (2, 3)]
│ sallow [(0, 0), (0, 1), (1, 0), (2, 1), (3, 0), (3, 1)] │
│ sallowly │ [(0, 0), (0, 1), (1, 0), (2, 1), (3, 0), (3, 1), (2, 2), (1, 3)]
│ sai [(0, 0), (0, 1), (0, 2)] │
╰──────────┴──────────────────────────────────────────────────────────────────╯
Starting @ (0, 1)
╭────────┬──────────────────────────────────────────────────╮
│ Word │ Path │
├────────┼──────────────────────────────────────────────────┤
│ aqua [(0, 1), (1, 1), (1, 2)] │
│ aquas [(0, 1), (1, 1), (1, 2), (2, 3)] │
│ al [(0, 1), (1, 0)] │
│ als │ [(0, 1), (1, 0), (0, 0)] │
│ alu [(0, 1), (1, 0), (2, 0)]
│ alula [(0, 1), (1, 0), (2, 0), (2, 1), (1, 2)] │
│ alulas │ [(0, 1), (1, 0), (2, 0), (2, 1), (1, 2), (2, 3)]
│ all │ [(0, 1), (1, 0), (2, 1)] │
│ allay │ [(0, 1), (1, 0), (2, 1), (1, 2), (1, 3)]
│ allays │ [(0, 1), (1, 0), (2, 1), (1, 2), (1, 3), (2, 3)]
│ allow │ [(0, 1), (1, 0), (2, 1), (3, 0), (3, 1)] │
│ aa [(0, 1), (1, 2)] │
│ aal [(0, 1), (1, 2), (2, 2)]
│ aals [(0, 1), (1, 2), (2, 2), (2, 3)] │
│ aal │ [(0, 1), (1, 2), (2, 1)]
│ aas [(0, 1), (1, 2), (2, 3)]
│ as [(0, 1), (0, 0)]
│ ai [(0, 1), (0, 2)] │
│ aia │ [(0, 1), (0, 2), (1, 2)] │
│ aias │ [(0, 1), (0, 2), (1, 2), (2, 3)] │
╰────────┴──────────────────────────────────────────────────╯
Starting @ (0,
2)
╭──────┬──────╮
│ Word │ Path │
├──────┼──────┤
╰──────┴──────╯
Starting @ (0, 3)
╭─────────┬──────────────────────────────────────────────────────────╮
│ Word │ Path │
├─────────┼──────────────────────────────────────────────────────────┤
│ pya │ [(0, 3), (1, 3), (1, 2)] │
│ pyas │ [(0, 3), (1, 3), (1, 2), (2, 3)]
│ pa [(0, 3), (1, 2)]
│ paal │ [(0, 3), (1, 2), (0, 1), (1, 0)] │
│ paals │ [(0, 3), (1, 2), (0, 1), (1, 0), (0, 0)]
│ pal [(0, 3), (1, 2), (2, 2)]
│ paly │ [(0, 3), (1, 2), (2, 2), (1, 3)] │
│ palas [(0, 3), (1, 2), (2, 2), (3, 3), (2, 3)]
│ pall │ [(0, 3), (1, 2), (2, 2), (2, 1)] │
│ pals [(0, 3), (1, 2), (2, 2), (2, 3)]
│ palsy │ [(0, 3), (1, 2), (2, 2), (2, 3), (1, 3)] │
│ palsa │ [(0, 3), (1, 2), (2, 2), (2, 3), (3, 3)]
│ pal │ [(0, 3), (1, 2), (2, 1)] │
│ pall [(0, 3), (1, 2), (2, 1), (1, 0)]
│ palls │ [(0, 3), (1, 2), (2, 1), (1, 0), (0, 0)]
│ palla [(0, 3), (1, 2), (2, 1), (1, 0), (0, 1)] │
│ pall [(0, 3), (1, 2), (2, 1), (2, 2)] │
│ pally │ [(0, 3), (1, 2), (2, 1), (2, 2), (1, 3)]
│ palla │ [(0, 3), (1, 2), (2, 1), (2, 2), (3, 3)] │
│ pallah │ [(0, 3), (1, 2), (2, 1), (2, 2), (3, 3), (3, 2)] │
│ pallahs │ [(0, 3), (1, 2), (2, 1), (2, 2), (3, 3), (3, 2), (2, 3)]
│ palls │ [(0, 3), (1, 2), (2, 1), (2, 2), (2, 3)]
│ pas [(0, 3), (1, 2), (2, 3)]
│ pash │ [(0, 3), (1, 2), (2, 3), (3, 2)]
│ pasha │ [(0, 3), (1, 2), (2, 3), (3, 2), (3, 3)]
│ pay │ [(0, 3), (1, 2), (1, 3)] │
│ pays [(0, 3), (1, 2), (1, 3), (2, 3)]
│ pi [(0, 3), (0, 2)]
│ pia [(0, 3), (0, 2), (1, 2)] │
│ pial │ [(0, 3), (0, 2), (1, 2), (2, 2)]
│ pial │ [(0, 3), (0, 2), (1, 2), (2, 1)]
│ pias │ [(0, 3), (0, 2), (1, 2), (2, 3)]
│ pia [(0, 3), (0, 2), (0, 1)]
│ pial [(0, 3), (0, 2), (0, 1), (1, 0)]
│ pias [(0, 3), (0, 2), (0, 1), (0, 0)]
╰─────────┴──────────────────────────────────────────────────────────╯
Starting @ (1, 0)
╭───────┬──────────────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────────────┤
│ la │ [(1, 0), (0, 1)] │
│ las │ [(1, 0), (0, 1), (0, 0)] │
│ lull │ [(1, 0), (2, 0), (2, 1), (2, 2)]
│ lulls │ [(1, 0), (2, 0), (2, 1), (2, 2), (2, 3)]
╰───────┴──────────────────────────────────────────╯
Starting @ (1, 1)
╭───────┬──────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────┤
│ qua │ [(1, 1), (0, 1)]
│ quai │ [(1, 1), (0, 1), (0, 2)] │
│ quip │ [(1, 1), (0, 2), (0, 3)] │
│ qua │ [(1, 1), (1, 2)]
│ quai │ [(1, 1), (1, 2), (0, 2)]
│ quash │ [(1, 1), (1, 2), (2, 3), (3, 2)] │
│ quay │ [(1, 1), (1, 2), (1, 3)]
│ quays │ [(1, 1), (1, 2), (1, 3), (2, 3)]
╰───────┴──────────────────────────────────╯
Starting @ (1, 2)
╭────────┬──────────────────────────────────────────────────╮
│ Word │ Path │
├────────┼──────────────────────────────────────────────────┤
│ ai [(1, 2), (0, 2)] │
│ aia │ [(1, 2), (0, 2), (0, 1)] │
│ aias │ [(1, 2), (0, 2), (0, 1), (0, 0)] │
│ aa [(1, 2), (0, 1)]
│ aal │ [(1, 2), (0, 1), (1, 0)] │
│ aals │ [(1, 2), (0, 1), (1, 0), (0, 0)]
│ aas │ [(1, 2), (0, 1), (0, 0)] │
│ al [(1, 2), (2, 2)]
│ ala │ [(1, 2), (2, 2), (3, 3)] │
│ alas [(1, 2), (2, 2), (3, 3), (2, 3)] │
│ all [(1, 2), (2, 2), (2, 1)]
│ allow │ [(1, 2), (2, 2), (2, 1), (3, 0), (3, 1)] │
│ als │ [(1, 2), (2, 2), (2, 3)] │
│ al │ [(1, 2), (2, 1)] │
│ all [(1, 2), (2, 1), (1, 0)] │
│ alls │ [(1, 2), (2, 1), (1, 0), (0, 0)]
│ alow [(1, 2), (2, 1), (3, 0), (3, 1)] │
│ alu [(1, 2), (2, 1), (2, 0)]
│ alula [(1, 2), (2, 1), (2, 0), (1, 0), (0, 1)] │
│ alulas │ [(1, 2), (2, 1), (2, 0), (1, 0), (0, 1), (0, 0)]
│ all [(1, 2), (2, 1), (2, 2)] │
│ ally │ [(1, 2), (2, 1), (2, 2), (1, 3)] │
│ alls [(1, 2), (2, 1), (2, 2), (2, 3)]
│ as [(1, 2), (2, 3)]
│ asyla │ [(1, 2), (2, 3), (1, 3), (2, 2), (3, 3)]
│ ash │ [(1, 2), (2, 3), (3, 2)]
│ aqua │ [(1, 2), (1, 1), (0, 1)] │
│ aquas │ [(1, 2), (1, 1), (0, 1), (0, 0)] │
│ ay │ [(1, 2), (1, 3)] │
│ ays │ [(1, 2), (1, 3), (2, 3)]
╰────────┴──────────────────────────────────────────────────╯
Starting @ (1, 3)
╭──────┬──────────────────────────╮
│ Word │ Path │
├──────┼──────────────────────────┤
│ yip │ [(1, 3), (0, 2), (0, 3)]
│ ya │ [(1, 3), (1, 2)] │
│ yap │ [(1, 3), (1, 2), (0, 3)] │
│ yas [(1, 3), (1, 2), (2, 3)]
╰──────┴──────────────────────────╯
Starting @ (2,
0)
╭──────┬──────╮
│ Word │ Path │
├──────┼──────┤
╰──────┴──────╯
Starting @ (2, 1)
╭───────┬──────────────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────────────┤
│ la │ [(2, 1), (1, 2)] │
│ lap │ [(2, 1), (1, 2), (0, 3)] │
│ las │ [(2, 1), (1, 2), (2, 3)] │
│ lash [(2, 1), (1, 2), (2, 3), (3, 2)]
│ lay [(2, 1), (1, 2), (1, 3)] │
│ lays │ [(2, 1), (1, 2), (1, 3), (2, 3)]
│ lo │ [(2, 1), (3, 0)] │
│ lou [(2, 1), (3, 0), (2, 0)]
│ low [(2, 1), (3, 0), (3, 1)]
│ lowly │ [(2, 1), (3, 0), (3, 1), (2, 2), (1, 3)] │
╰───────┴──────────────────────────────────────────╯
Starting @ (2, 2)
╭───────┬──────────────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────────────┤
│ la [(2, 2), (1, 2)] │
│ lap [(2, 2), (1, 2), (0, 3)] │
│ lall │ [(2, 2), (1, 2), (2, 1), (1, 0)]
│ lalls │ [(2, 2), (1, 2), (2, 1), (1, 0), (0, 0)]
│ las │ [(2, 2), (1, 2), (2, 3)] │
│ lash │ [(2, 2), (1, 2), (2, 3), (3, 2)]
│ lay [(2, 2), (1, 2), (1, 3)] │
│ lays │ [(2, 2), (1, 2), (1, 3), (2, 3)] │
│ la │ [(2, 2), (3, 3)] │
│ las │ [(2, 2), (3, 3), (2, 3)]
│ lash │ [(2, 2), (3, 3), (2, 3), (3, 2)]
│ lah │ [(2, 2), (3, 3), (3, 2)]
│ lahs │ [(2, 2), (3, 3), (3, 2), (2, 3)]
╰───────┴──────────────────────────────────────────╯
Starting @ (2, 3)
╭─────────┬──────────────────────────────────────────────────────────╮
│ Word │ Path │
├─────────┼──────────────────────────────────────────────────────────┤
│ sai │ [(2, 3), (1, 2), (0, 2)]
│ sap [(2, 3), (1, 2), (0, 3)] │
│ sal │ [(2, 3), (1, 2), (2, 2)] │
│ sall │ [(2, 3), (1, 2), (2, 2), (2, 1)]
│ sallow [(2, 3), (1, 2), (2, 2), (2, 1), (3, 0), (3, 1)] │
│ sal [(2, 3), (1, 2), (2, 1)] │
│ sall [(2, 3), (1, 2), (2, 1), (1, 0)] │
│ sall [(2, 3), (1, 2), (2, 1), (2, 2)]
│ sally │ [(2, 3), (1, 2), (2, 1), (2, 2), (1, 3)]
│ say [(2, 3), (1, 2), (1, 3)] │
│ sal │ [(2, 3), (3, 3), (2, 2)]
│ salal │ [(2, 3), (3, 3), (2, 2), (1, 2), (2, 1)] │
│ sall │ [(2, 3), (3, 3), (2, 2), (2, 1)] │
│ sallow │ [(2, 3), (3, 3), (2, 2), (2, 1), (3, 0), (3, 1)]
│ sh [(2, 3), (3, 2)]
│ sha [(2, 3), (3, 2), (3, 3)]
│ shaly │ [(2, 3), (3, 2), (3, 3), (2, 2), (1, 3)]
│ shall │ [(2, 3), (3, 2), (3, 3), (2, 2), (2, 1)]
│ shallow │ [(2, 3), (3, 2), (3, 3), (2, 2), (2, 1), (3, 0), (3, 1)] │
│ slap │ [(2, 3), (2, 2), (1, 2), (0, 3)]
│ slay │ [(2, 3), (2, 2), (1, 2), (1, 3)]
│ sly [(2, 3), (2, 2), (1, 3)]
╰─────────┴──────────────────────────────────────────────────────────╯
Starting @ (3, 0)
╭───────┬──────────────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────────────┤
│ ou [(3, 0), (2, 0)] │
│ olla │ [(3, 0), (2, 1), (1, 0), (0, 1)]
│ ollas │ [(3, 0), (2, 1), (1, 0), (0, 1), (0, 0)]
│ olla │ [(3, 0), (2, 1), (2, 2), (1, 2)]
│ ollas │ [(3, 0), (2, 1), (2, 2), (1, 2), (2, 3)] │
│ olla │ [(3, 0), (2, 1), (2, 2), (3, 3)] │
│ ollas │ [(3, 0), (2, 1), (2, 2), (3, 3), (2, 3)]
│ ow │ [(3, 0), (3, 1)] │
│ owl │ [(3, 0), (3, 1), (2, 1)]
│ owl [(3, 0), (3, 1), (2, 2)]
│ owly │ [(3, 0), (3, 1), (2, 2), (1, 3)]
│ owls [(3, 0), (3, 1), (2, 2), (2, 3)]
╰───────┴──────────────────────────────────────────╯
Starting @ (3, 1)
╭───────┬──────────────────────────────────────────╮
│ Word │ Path │
├───────┼──────────────────────────────────────────┤
│ wull │ [(3, 1), (2, 0), (1, 0), (2, 1)]
│ wull │ [(3, 1), (2, 0), (2, 1), (1, 0)]
│ wulls │ [(3, 1), (2, 0), (2, 1), (1, 0), (0, 0)] │
│ wull │ [(3, 1), (2, 0), (2, 1), (2, 2)] │
│ wulls │ [(3, 1), (2, 0), (2, 1), (2, 2), (2, 3)]
│ wo [(3, 1), (3, 0)]
│ wolly │ [(3, 1), (3, 0), (2, 1), (2, 2), (1, 3)]
│ wha │ [(3, 1), (3, 2), (3, 3)] │
╰───────┴──────────────────────────────────────────╯
Starting @ (3, 2)
╭────────┬──────────────────────────────────────────────────╮
│ Word │ Path │
├────────┼──────────────────────────────────────────────────┤
│ ha [(3, 2), (3, 3)]
│ has │ [(3, 2), (3, 3), (2, 3)]
│ halal │ [(3, 2), (3, 3), (2, 2), (1, 2), (2, 1)] │
│ hall │ [(3, 2), (3, 3), (2, 2), (2, 1)]
│ hallo │ [(3, 2), (3, 3), (2, 2), (2, 1), (3, 0)]
│ hallow │ [(3, 2), (3, 3), (2, 2), (2, 1), (3, 0), (3, 1)] │
╰────────┴──────────────────────────────────────────────────╯
Starting @ (3, 3)
╭────────┬──────────────────────────────────────────────────╮
│ Word │ Path │
├────────┼──────────────────────────────────────────────────┤
│ as │ [(3, 3), (2, 3)] │
│ asyla │ [(3, 3), (2, 3), (1, 3), (2, 2), (1, 2)] │
│ ash │ [(3, 3), (2, 3), (3, 2)] │
│ al [(3, 3), (2, 2)]
│ ala [(3, 3), (2, 2), (1, 2)] │
│ alap │ [(3, 3), (2, 2), (1, 2), (0, 3)]
│ alas [(3, 3), (2, 2), (1, 2), (2, 3)] │
│ alay │ [(3, 3), (2, 2), (1, 2), (1, 3)]
│ alays │ [(3, 3), (2, 2), (1, 2), (1, 3), (2, 3)]
│ all │ [(3, 3), (2, 2), (2, 1)]
│ allay │ [(3, 3), (2, 2), (2, 1), (1, 2), (1, 3)]
│ allays │ [(3, 3), (2, 2), (2, 1), (1, 2), (1, 3), (2, 3)] │
│ allow │ [(3, 3), (2, 2), (2, 1), (3, 0), (3, 1)] │
│ als │ [(3, 3), (2, 2), (2, 3)] │
│ ah [(3, 3), (3, 2)]
│ ahs │ [(3, 3), (3, 2), (2, 3)] │
╰────────┴──────────────────────────────────────────────────╯
```
# Build