---------------------------------------------------------------- | | | | | RRRRRR U U BBBBBB III K K / SSSSS | | R R U U B B I K K S S | | R R U U B B I K K S | | RRRRRR U U BBBBBB I K SSSSS | | R R U U B B I K K S | | R R U U B B I K K S S | | R R UUUUU BBBBBB III K K SSSSS | | | | | | RRRRRR EEEEEEE V V EEEEEEE N N GGGG EEEEEEE | | R R E V V E NN N G G E | | R R E V V E N N N G E | | RRRRRR EEEEE V V EEEEE N N N G EEEEE | | R R E V V E N N N G GGGG E | | R R E V V E N NN G G E | | R R EEEEEEE V EEEEEEE N N GGGG EEEEEEE | | | | | | | | | | | | A Solution to Rubik's Revenge | | | | | | B | | ________________________________________ | | / / / / /| | | / ULB / UBl / UBr / UBR / | | | /_________/_________/_________/_________/ R| | | / / / / /| U| | | / ULb / Ulb / Ubr / URb / | B| | | L /_________/_________/_________/_________/ R| /| | | / / / / /| U|/ | | | / ULf / Ufl / Urf / URf / | b/ R| | | /_________/_________/_________/_________/ R| /| B| | | / / / / /| U|/ | u| B | | / UFL / UFl / UFr / URF / | f/ R| /| | | /_________/_________/_________/_________/ R| /| u|/ | | | | | | | | F|/ | b/ R| | | | | | | | U/ R| /| B| | | | FLU | FUl | FUr | FUR | /| f|/ | d| | | | | | | |/ | u/ R| /| | | |_________|_________|_________|_________/ R| /| b|/ | | | | | | | | F|/ | d/ R| | | | | | | | u/ R| /| B| | | | FLu | Flu | Fur | FRu | /| d|/ | D/ | | | | | | |/ | f/ R| / | | L |_________|_________|_________|_________/ R| /| D|/ | | | | | | | F|/ | b/ | | | | | | | d/ R| / | | | FLd | Fdl | Frd | FRd | /| D|/ | | | | | | |/ | f/ | | |_________|_________|_________|_________/ R| / | | | | | | | D|/ D | | | | | | | F/ | | | FDL | FDl | FDr | FRD | / | | | | | | |/ | | |_________|_________|_________|_________/ | | | | D | | | | | | | | | |Written by Jonathan Bowen | | Programming Research Group | | Oxford University Computing Laboratory | | 8-11 Keble Road | | Oxford OX1 3QD | | England | | | | Tel +44-865-273840 | | | |Created January 1983 | |Updated June 1997 | |Issue 1.2 | ---------------------------------------------------------------- ---------------------------------------------------------------- | Notation | |--------------------------------------------------------------| | | |1. Description | | ----------- | | | | Rubik's Revenge is a cube which may be considered to | | consist of 64 miniature cubes or 'cubies'. Each face | | is divided into sixteen square segments. Any face and | | its adjacent segments on the other faces may be | | rotated relative to the rest of the cube. Additionally | | the next level of segments may also be rotated with | | the face. | | | |2. Faces | | ----- | | | | The following letters are used to denote the six faces | | of the cube: | | | | U for the upper face, | | B for the back face, | | F for the front face, | | L for the lefthand face, | | R for the righthand face, | | D for the downward face. | | | | U B F L R D denote a clockwise rotation through | | 90 degrees of the face indicated. | | | | U- B- F- L- R- D- denote an anticlockwise rotation | | through 90 degrees. | | | | U2 B2 F2 L2 R2 D2 denote a rotation through 180 | | degrees. | | | | A double letter (e.g. UU for the upper face) indicates | | that the rotation is to include the next level of | | adjacent segments as well. | | | |3. Segments | | -------- | | | | Each segment of each face is represented by a string | | of three letters. The first letter indicates the face | | on which the segment is situated. The other two | | letters indicate which adjacent faces the segment is | | nearest. If the two letters are lowercase then the | | segment is in the centre of the face. If one of the | | letters is uppercase and one lowercase then it is on | | the edge of the face. In this case the uppercase | | letter indicates the immediately adjacent face. If | | the two letters are uppercase then the segment is at | | the corner of the face. Note that the order of the | | last two letters is immaterial. A single letter | | indicates a combination of the four centre segments on | | that face and two letters indicates a combination of | | two edge segments. The following are examples of | | segments and combinations of segments: | | | | Ufl or Ulf the centre segment of the upper face | | nearest the front and lefthand faces. | | | | RFd or RdF the segment at the centre of the righthand | | face's edge which is adjacent to the front | | face and nearest the downward face. | | | | FDL or FLD the corner segment on the front face which | | is adjacent to the lefthand and downward | | faces. | | | | R a combination of centre segments Rfu, Rub, | | Rbd and Rdf. | | | | FU combination of edge segments FUl and FUr. | | | | | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | Operation | |--------------------------------------------------------------| | | | Operation notation | | ------------------ | | | | Segments and segment combinations in brackets denote | | movement of the segments and combinations specified. | | Elements in the brackets are a cyclic group and rotate | | round one place from right to left when the operation | | is performed. E.g. (UF,BU,UL) is transformed to | | (BU,UL,UF). Note that the first element moves to the | | last position. | | | | | |1. Get all the centre segments matching ensuring that the | | positions are compatible with the corner segments. | | | |2. Get all the edge segments matching. | | | |3. Get a cross on a face ensuring that the segments match | | downwards. | | | |4. Complete the face ensuring that the corners match | | across. | | | |5. Using the completed face as the bottom face complete | | the middle slice using either of the following moves | | for each of the four segments depending on which is | | required. | | | | (i) (UF,RF): U R U- R- U- F- U F | | | | (ii) (UF,FR): F- U2 L- U L U2 F | | | |6. Again using the completed face as the bottom face now | | get a cross on the upper face. Do not try to | | orientate these downwards at first. Use the following | | two moves: | | | | (iii) UB,UF flip (UF,BU,UL): B L U L- U- B- | | to flip the back and front segments. | | | | (iv) UB,UL flip (UF,UL,BU): B U L U- L- B- | | to flip the back and lefthand segments. | | | |7. Now orientate the cross downwards: | | | | (v) (UR,UB): F- U- F U- F- U2 F U- | | to swap the right and back segments. | | | |8. Get the four corners into their correct positions | | using either of the following moves depending on how | | the cube has fallen out: | | | | (vi) (UBR,LBU,LUF): U R U- L- U R- U- L | | to rotate all but the front righthand corner. | | | | (vii) (UFL,FUR) and (ULB,BRU): | | B L U L- U- L U L- U- L U L- U- B | | to swap front and back pairs. | | | |9. Rotate the corners so that they are orientated | | properly using the following move: | | | | (viii) (FLU,LUF,UFL) and (FDL,DLF,LFD): | | R F R- F R F2 R- L- F- L F- L- F2 L | | to move the top and downward segments to the | | front face. | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------