12 circular pieces (A-L) white on one side and blue on the other, are arranged in a "Star of David" as shown below, with the white face up.
A
/ \
/ \
B-----C-----D-----E
\ / \ /
\ / \ /
F G
/ \ / \
/ \ / \
H-----I-----J-----K
\ /
\ /
L
The goal is to turn all the 12 pieces so that they all show its blue side. At any time, you can turn any piece you want, but doing this, all the pieces that are connected to it, must be turned too. That is, if you choose to turn the "A"-piece (so that it becomes blue), the "C"-piece and "D"-piece must be turned too, becoming blue. If next you choose to turn the "E"-piece (so it becomes blue) the "G" and "D"-pieces must be turned too (the "G"-piece becomes blue, but the "D"-piece now becomes white again).
Can you devise a sequence with minimum turns to achieve the goal? Just name the pieces that you should turn; you donīt need to name the pieces that must be turned by the rule.
Iīm not forbidding using a computer (in fact, I canīt) but those who do, please give the others some time before posting a solution obtained by this way.
(In reply to
a solution 12 flips by Patrick)
The following program lists the turns as strings of the three or five flips that constitute that turn. Track is kept of whether a given turn is or is not made, and the string of flips is evaluated to make sure all are done an odd number of times. If so, the sequence of up to twelve turns is a solution. A separate number of the flips that constitute the set of turns is also shown. The result is:
1 1 1 1 1 1 1 1 1 1 1 1
48
Indicating that each of the 12 possible turns is done once, incorporating a total of 48 flips. (remember, a flip is different from a turn; one turn has 3 or 5 flips that make it up).
DATA acd,bcf,abcdf,acdeg
DATA edg,bcfhi,degjk,fhi
DATA fhijl,gijkl,gjk,ijl
DIM mv$(12, 1)
FOR i = 1 TO 12
READ mv$(i, 1)
NEXT
FOR m1 = 0 TO 1
s1$ = mv$(1, m1)
FOR m2 = 0 TO 1
s2$ = s1$ + mv$(2, m2)
FOR m3 = 0 TO 1
s3$ = s2$ + mv$(3, m3)
FOR m4 = 0 TO 1
s4$ = s3$ + mv$(4, m4)
FOR m5 = 0 TO 1
s5$ = s4$ + mv$(5, m5)
FOR m6 = 0 TO 1
s6$ = s5$ + mv$(6, m6)
FOR m7 = 0 TO 1
s7$ = s6$ + mv$(7, m7)
FOR m8 = 0 TO 1
s8$ = s7$ + mv$(8, m8)
FOR m9 = 0 TO 1
s9$ = s8$ + mv$(9, m9)
FOR m10 = 0 TO 1
s10$ = s9$ + mv$(10, m10)
FOR m11 = 0 TO 1
s11$ = s10$ + mv$(11, m11)
FOR m12 = 0 TO 1
s12$ = s11$ + mv$(12, m12)
good = 1
FOR i = 1 TO 12
ct = 0
c$ = MID$("abcdefghijkl", i, 1)
ix = 0
DO
ix = INSTR(ix + 1, s12$, c$)
IF ix THEN ct = ct + 1
LOOP UNTIL ix = 0
IF ct MOD 2 = 0 THEN good = 0: EXIT FOR
NEXT
IF good THEN
PRINT m1; m2; m3; m4; m5; m6; m7; m8; m9; m10; m11; m12
PRINT LEN(s12$)
END IF
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
|
Posted by Charlie
on 2005-09-20 18:53:07 |