In this game of Letter Cubes, each word of one to four letters in uppercase below are used. Except for the letters "Q" and "X", a different letter of the alphabet is on each face of each of the four cubes.
Can you identify the six letters on each cube?
FOR EACH WORD A CUBE IS USED JUST ONCE:
FORM, GAZE, HACK, HOLE, LAZY, LIMP, SING AND VENT
The below program is able to solve the puzzle even with the information from HACK, VENT and AND missing (by overlaying with one of the other words, which provides no more information than that word appearing only once). It just goes faster if HACK, LAZY and AND are in fact used. There are probably alternate sets of words that could have been left out and still had a solvable puzzle.
The program:
DECLARE SUB addIn (lvl!)
DATA FOR, EACH, WORD, A, CUBE, IS, USED, JUST, ONCE
DATA FORM, GAZE, VENT, HOLE, VENT, LIMP, SING, VENT, VENT
REM FOR, EACH, WORD, A, CUBE, IS, USED, JUST, ONCE
REM FORM, GAZE, HACK, HOLE, LAZY, LIMP, SING, AND , VENT
CLEAR , , 9999
DIM SHARED USED(26), hist(24)
USED(17) = 1: USED(24) = 1
hist(1) = 1: USED(1) = 1
DIM w$(18)
FOR i = 1 TO 18
READ w$(i)
NEXT
DIM SHARED grid(26, 26)
FOR wd = 1 TO 18
FOR l1 = 1 TO LEN(w$(wd)) - 1
FOR l2 = l1 + 1 TO LEN(w$(wd))
lt1$ = MID$(w$(wd), l1, 1)
lt2$ = MID$(w$(wd), l2, 1)
IF lt2$ < lt1$ THEN SWAP lt1$, lt2$
ltr1 = INSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZ", lt1$)
ltr2 = INSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZ", lt2$)
grid(ltr1, ltr2) = 1
grid(ltr2, ltr1) = 1
NEXT
NEXT
NEXT
PRINT " A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
FOR i = 1 TO 26
PRINT MID$("ABCDEFGHIJKLMNOPQRSTUVWXYZ", i, 1);
FOR j = 1 TO 26
IF i = j THEN
PRINT "\ ";
ELSE
IF grid(i, j) THEN
PRINT "x ";
ELSE
PRINT ". ";
END IF
END IF
NEXT
PRINT
NEXT
addIn 2
SUB addIn (lvl)
IF lvl MOD 6 = 1 THEN
FOR i = 1 TO 26
IF USED(i) = 0 THEN
USED(i) = 1
hist(lvl) = i
GOSUB checkIt
USED(i) = 0
EXIT FOR
END IF
NEXT
ELSE
FOR i = hist(lvl - 1) + 1 TO 26
IF USED(i) = 0 THEN
kMin = ((lvl - 1) \ 6) * 6 + 1
good = 1
FOR k = kMin TO lvl - 1
h1 = hist(k): h2 = i
IF h2 < h1 THEN SWAP h1, h2
IF grid(h1, h2) <> 0 THEN good = 0
NEXT
IF good THEN
USED(i) = 1
hist(lvl) = i
GOSUB checkIt
USED(i) = 0
END IF
END IF
NEXT
END IF
EXIT SUB
checkIt:
IF lvl = 24 THEN
FOR j = 1 TO 24
PRINT MID$("ABCDEFGHIJKLMNOPQRSTUVWXYZ", hist(j), 1);
IF j MOD 6 = 0 THEN PRINT "|";
NEXT
PRINT
ELSE
addIn lvl + 1
END IF
RETURN
END SUB
finds a letter grid of letter pairs found within the same words (not necessarily adjacent):
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A\ . x . x . x x . . . . . . . . . . . . . . . . . x
B. \ x . x . . . . . . . . . . . . . . . x . . . . .
Cx x \ . x . . x . . . . . x x . . . . . x . . . . .
D. . . \ x . . . . . . . . . x . . x x . x . x . . .
Ex x x x \ . x x . . . x . x x . . . x x x x . . . x
F. . . . . \ . . . . . . x . x . . x . . . . . . . .
Gx . . . x . \ . x . . . . x . . . . x . . . . . . x
Hx . x . x . . \ . . . x . . x . . . . . . . . . . .
I. . . . . . x . \ . . x x x . x . . x . . . . . . .
J. . . . . . . . . \ . . . . . . . . x x x . . . . .
K. . . . . . . . . . \ . . . . . . . . . . . . . . .
L. . . . x . . x x . . \ x . x x . . . . . . . . . .
M. . . . . x . . x . . x \ . x x . x . . . . . . . .
N. . x . x . x . x . . . . \ x . . . x x . x . . . .
O. . x x x x . x . . . x x x \ . . x . . . . x . . .
P. . . . . . . . x . . x x . . \ . . . . . . . . . .
Q. . . . . . . . . . . . . . . . \ . . . . . . . . .
R. . . x . x . . . . . . x . x . . \ . . . . x . . .
S. . . x x . x . x x . . . x . . . . \ x x . . . . .
T. . . . x . . . . x . . . x . . . . x \ x x . . . .
U. x x x x . . . . x . . . . . . . . x x \ . . . . .
V. . . . x . . . . . . . . x . . . . . x . \ . . . .
W. . . x . . . . . . . . . . x . . x . . . . \ . . .
X. . . . . . . . . . . . . . . . . . . . . . . \ . .
Y. . . . . . . . . . . . . . . . . . . . . . . . \ .
Zx . . . x . x . . . . . . . . . . . . . . . . . . \
or, if all the words were counted:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A\ . x x x . x x . . x x . x . . . . . . . . . . x x
B. \ x . x . . . . . . . . . . . . . . . x . . . . .
Cx x \ . x . . x . . x . . x x . . . . . x . . . . .
Dx . . \ x . . . . . . . . x x . . x x . x . x . . .
Ex x x x \ . x x . . . x . x x . . . x x x x . . . x
F. . . . . \ . . . . . . x . x . . x . . . . . . . .
Gx . . . x . \ . x . . . . x . . . . x . . . . . . x
Hx . x . x . . \ . . x x . . x . . . . . . . . . . .
I. . . . . . x . \ . . x x x . x . . x . . . . . . .
J. . . . . . . . . \ . . . . . . . . x x x . . . . .
Kx . x . . . . x . . \ . . . . . . . . . . . . . . .
Lx . . . x . . x x . . \ x . x x . . . . . . . . x x
M. . . . . x . . x . . x \ . x x . x . . . . . . . .
Nx . x x x . x . x . . . . \ x . . . x x . x . . . .
O. . x x x x . x . . . x x x \ . . x . . . . x . . .
P. . . . . . . . x . . x x . . \ . . . . . . . . . .
Q. . . . . . . . . . . . . . . . \ . . . . . . . . .
R. . . x . x . . . . . . x . x . . \ . . . . x . . .
S. . . x x . x . x x . . . x . . . . \ x x . . . . .
T. . . . x . . . . x . . . x . . . . x \ x x . . . .
U. x x x x . . . . x . . . . . . . . x x \ . . . . .
V. . . . x . . . . . . . . x . . . . . x . \ . . . .
W. . . x . . . . . . . . . . x . . x . . . . \ . . .
X. . . . . . . . . . . . . . . . . . . . . . . \ . .
Yx . . . . . . . . . . x . . . . . . . . . . . . \ x
Zx . . . x . x . . . . x . . . . . . . . . . . . x \
(see C vs K, for example, or A vs N)
but either way, the solution is found as:
ABOPSV|CDFGLT|EIJKRY|HMNUWZ|
as being the four cubes.
|
Posted by Charlie
on 2006-06-28 14:09:10 |