{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":931,"title":"Rubik's Mini-Cube: Solve Randomized Mini-Cube - Score : Moves","description":"The Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\r\n\r\nThe Performance metric is average number of moves for solving 500 cubes.\r\n\r\nA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\r\n\r\nThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\r\n\r\nMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\r\n\r\n\r\n\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/minicube2.png\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/miniCube_Map24_200.png\u003e\u003e\r\n\r\n\u003c\u003chttp://mathworks.com/matlabcentral/images/surf.gif\u003e\u003e\r\n\r\n\r\n  \r\n  \r\n  Input: (rubik)\r\n  \r\n  rubik: row vector of size 24\r\n  (The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\r\n  Output: move_vec (Numeric of moves to solve)\r\n   move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\r\n* Example:\r\n* If the cube was randomized by [1 9] UD', one solution is [3 7]  which are the complements in reverse order. \r\n* Scoring is average face moves for 500 cubes\r\n* Cube Moves X, Y, and Z do not constitute a move but are needed in the vector \r\n* A string to numeric value function is provided in the template\r\n* Verifications will be by executing your move vector against the provided Rubik and counting number of face moves.\r\n\r\nThe function rubik_rot_mini(mov,r) is provided in the template.\r\n\r\n\r\nThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\r\n\r\n\r\n* \r\n* \u003chttp://kociemba.org/cube.htm Cube Theory: 20-moves Any Cube\u003e \r\n* \u003chttp://peter.stillhq.com/jasmine/rubikscubesolution.html General Cube Info and Middle Layer\u003e\r\n* \u003chttp://www.speedcubing.com/final_layer_print.html SpeedCube Bottom Sequences\u003e\r\n(Note: Mini-Cube can use the full cube moves and ignore edge effects)\r\n\r\n\r\nComing Soon: The Mini-Cube  (2x2x2): Full Random - Eleven or Less Moves","description_html":"\u003cp\u003eThe Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\u003c/p\u003e\u003cp\u003eThe Performance metric is average number of moves for solving 500 cubes.\u003c/p\u003e\u003cp\u003eA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/p\u003e\u003cp\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/p\u003e\u003cp\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/minicube2.png\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/miniCube_Map24_200.png\"\u003e\u003cimg src=\"http://mathworks.com/matlabcentral/images/surf.gif\"\u003e\u003cpre class=\"language-matlab\"\u003eInput: (rubik)\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003erubik: row vector of size 24\r\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eOutput: move_vec (Numeric of moves to solve)\r\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\u003c/pre\u003e\u003cul\u003e\u003cli\u003eExample:\u003c/li\u003e\u003cli\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7]  which are the complements in reverse order.\u003c/li\u003e\u003cli\u003eScoring is average face moves for 500 cubes\u003c/li\u003e\u003cli\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/li\u003e\u003cli\u003eA string to numeric value function is provided in the template\u003c/li\u003e\u003cli\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThe function rubik_rot_mini(mov,r) is provided in the template.\u003c/p\u003e\u003cp\u003eThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://kociemba.org/cube.htm\"\u003eCube Theory: 20-moves Any Cube\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\"\u003eGeneral Cube Info and Middle Layer\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://www.speedcubing.com/final_layer_print.html\"\u003eSpeedCube Bottom Sequences\u003c/a\u003e\r\n(Note: Mini-Cube can use the full cube moves and ignore edge effects)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eComing Soon: The Mini-Cube  (2x2x2): Full Random - Eleven or Less Moves\u003c/p\u003e","function_template":"function solve_vec = rubik_solve_mini(r)\r\n% Expect Numeric representation of moves (1:27):\r\n% 1:27 are ufdlbr upfpdplpbprp u2f2d2l2b2r2 xyzxpypzpx2y2z2\r\n solve_vec=[]; \r\nend\r\n\r\nfunction r=rubik_rot_mini(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 24 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 24\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:4 U 5:8 F 9:12 D 13:16 B 17:20 R 21:24 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[9 2 11 4 6 8 5 7 21 10 23 12 13 14 15 16 17 3 19 1 20 22 18 24 ; \r\n    1 2 13 15 5 4 7 3 10 12 9 11 22 14 21 16 17 18 19 20 6 8 23 24 ;\r\n    1 19 3 17 5 6 7 8 9 2 11 4 14 16 13 15 24 18 22 20 21 10 23 12 ;\r\n    2 4 1 3 17 18 7 8 5 6 11 12 9 10 15 16 13 14 19 20 21 22 23 24 ;\r\n    7 5 3 4 23 6 24 8 9 10 11 12 13 1 15 2 18 20 17 19 21 22 16 14 ;\r\n    1 2 3 4 5 6 11 12 9 10 15 16 13 14 19 20 17 18 7 8 22 24 21 23 ;\r\n    20 2 18 4 7 5 8 6 1 10 3 12 13 14 15 16 17 23 19 21 9 22 11 24 ;\r\n    1 2 8 6 5 21 7 22 11 9 12 10 3 14 4 16 17 18 19 20 15 13 23 24 ;\r\n    1 10 3 12 5 6 7 8 9 22 11 24 15 13 16 14 4 18 2 20 21 19 23 17 ;\r\n    3 1 4 2 9 10 7 8 13 14 11 12 17 18 15 16 5 6 19 20 21 22 23 24 ;\r\n    14 16 3 4 2 6 1 8 9 10 11 12 13 24 15 23 19 17 20 18 21 22 5 7 ;\r\n    1 2 3 4 5 6 19 20 9 10 7 8 13 14 11 12 17 18 15 16 23 21 24 22 ;\r\n    21 2 23 4 8 7 6 5 20 10 18 12 13 14 15 16 17 11 19 9 1 22 3 24 ;\r\n    1 2 22 21 5 15 7 13 12 11 10 9 8 14 6 16 17 18 19 20 4 3 23 24 ;\r\n    1 22 3 24 5 6 7 8 9 19 11 17 16 15 14 13 12 18 10 20 21 2 23 4 ;\r\n    4 3 2 1 13 14 7 8 17 18 11 12 5 6 15 16 9 10 19 20 21 22 23 24 ;\r\n    24 23 3 4 16 6 14 8 9 10 11 12 13 7 15 5 20 19 18 17 21 22 2 1 ;\r\n    1 2 3 4 5 6 15 16 9 10 19 20 13 14 7 8 17 18 11 12 24 23 22 21 ;\r\n    3 1 4 2 9 10 11 12 13 14 15 16 17 18 19 20 5 6 7 8 22 24 21 23 ;\r\n    9 10 11 12 6 8 5 7 21 22 23 24 15 13 16 14 4 3 2 1 20 19 18 17 ;\r\n    14 16 13 15 2 4 1 3 10 12 9 11 22 24 21 23 19 17 20 18 6 8 5 7 ;\r\n    2 4 1 3 17 18 19 20 5 6 7 8 9 10 11 12 13 14 15 16 23 21 24 22 ;\r\n    20 19 18 17 7 5 8 6 1 2 3 4 14 16 13 15 24 23 22 21 9 10 11 12 ;\r\n    7 5 8 6 23 21 24 22 11 9 12 10 3 1 4 2 18 20 17 19 15 13 16 14 ;\r\n    4 3 2 1 13 14 15 16 17 18 19 20 5 6 7 8 9 10 11 12 24 23 22 21 ;\r\n    21 22 23 24 8 7 6 5 20 19 18 17 16 15 14 13 12 11 10 9 1 2 3 4 ; \r\n    24 23 22 21 16 15 14 13 12 11 10 9 8 7 6 5 20 19 18 17 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\nend\r\n\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n\r\n%{\r\n% 3D Viewer and Development Environment\r\n\r\n\r\nfunction RubikMini_3D_2724_Solver_viewer\r\n%Rubiks Mini-Cube Play\r\n%Creator: Richard Zapor\r\n% 09/01/12\r\nclear all\r\nglobal pmap plate zCmap r  % For 3D  viewer\r\n\r\n% initialize cube\r\n r(1:4)=0;     %Left   0 R\r\n r(5:8)=1;     %Up     1 W\r\n r(9:12)=2;    %Front  2 B\r\n r(13:16)=3;   %Down   3 Y\r\n r(17:20)=4;   %Back   4 G\r\n r(21:24)=5;   %Right  5 O\r\n rnorm=r;\r\n \r\n % Map 3D platelettes and surfaces\r\n [pmap plate]=cube_faces; % One time association of array to 3D surfaces\r\n  % zCmap=[0,0,0;1,1,1;0,0,1;1,1,0;1,0,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Wht,3-Blu,4-Yellow,5-Red,6-Green,7-Orange\r\n  \r\n  zCmap=[0,0,0;1,0,0;1,1,1;0,0,1;1,1,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Red,3-Wht,4-Blu,5-Yellow,6-Green,7-Orange\r\n\r\n% Initialize 3D figure\r\nfigure(2);set(gca,'CameraPosition',[6 -2 7]); % Initial 3D setup\r\n   axis ([-1 4 -1 4 -1 4]);\r\n   axis equal % This is slow but needed for free rotate 1.2 sec\r\n   axis off\r\nview3D % Calls subroutine that produces a 3D image in figure 2\r\n\r\n% r=rubik_rot2(r,mov)\r\n% mov is 1:27;  1-6 UFDLB 7-12 U'F;D'L'B' 13-18 U2F2D2L2B2 \r\n%             22-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n\r\nfprintf('Move Entry (UFDLBRXYZ) eg U U2 U'' (or Up) or G=GoReset P=Play Q-Quit  :\\n');\r\nwhile 1 % Infinite loop\r\n str1=input('Enter Move(s):','s');\r\n if isempty(str1),continue;end\r\n movestr1=regexp(upper(strtrim(str1)),'\\s*','split');\r\n if movestr1{1}=='P',break;end\r\n if movestr1{1}=='Q',return;end\r\n if movestr1{1}=='G'\r\n  r=rnorm;\r\n  view3D\r\n  continue;\r\n end\r\n \r\n move_vec=decode27_movestr_rev001(str1);\r\n \r\n for i=1:length(move_vec) \r\n  r=rubik_rot_mini(move_vec(i),r);\r\n end\r\n% view3D\r\n\r\n \r\nend % while move manipulation practice loop\r\n\r\n% Setup Cube and Play\r\n\r\nfprintf('\\n\\nSolve Multiple Cubes\\n')\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\ntic\r\nwhile 1 % Games loop\r\n    mix=40; % Very random cube\r\n    zcnt=zcnt+1;\r\n    if zcnt\u003e100,break;end\r\n% mix=input('\\n\\nHow many random face rotations? (0=Exit) : ');\r\n% if isempty(mix),continue;end\r\n\r\n r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]); % do one create movr=randi(18,zcnt,mix) mov=movr(zcnt,:)\r\n for i=1:length(mov) \r\n  if i\u003e1 % Eliminate move undos\r\n  % f2 f2 or f f'  or f' f\r\n   if (mov(i)\u003e12 \u0026\u0026 mov(i-1)==mov(i))||(mov(i-1)\u003c7 \u0026\u0026 mov(i)==mov(i-1)+6)||...\r\n       (mov(i-1)\u003e6  \u0026\u0026 mov(i)==mov(i-1)-6)    \r\n    mov(i)=mov(i)+1;   % 1:17 map to 2:18  18 map to 1\r\n    if mov(i)==19,mov(i)=1;end\r\n   end\r\n  end\r\n  r=rubik_rot_mini(mov(i),r);\r\n end\r\n \r\n r_reset=r;\r\n \r\n solve_vec=[];\r\n \r\n % Check cube for Good face and Edges\r\n % Place on Up; Solve Cross/Corners with u u' or u2\r\n % Assures single move i solved in 1 move, may solve at bottom solid face\r\n % check\r\n \r\n% Insert Solution Code Here\r\n \r\n % Orient Cube R-L W-U B-F  RWB\r\n % Sequence thru BWO OWG GWR  to Solve Top Corners\r\n % Flip Cube to Solve Bottom Layer\r\n % Apply SpeedCube Corner Rotate Algorithms if Bot not Solid or Solved\r\n % If not solved Apply SpeedCube Corner Rotate/Move Algorithms\r\n \r\n % Orient Cube using XYZ to be RWB 3-6-9 RL-WU-BF\r\n  movestr=solve_orient_str(r);\r\n  move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n  move_vec=[move_vec 20]; % add a Y to get to next face\r\n  solve_vec=[solve_vec move_vec];\r\n  \r\n  for i=1:length(move_vec) \r\n   r=rubik_rot_mini(move_vec(i),r);\r\n  end\r\n % end Orient Start Cube\r\n \r\n  % Solve Top Corners\r\n  for corners=2:4 % Solve Top corners TLFC, First Corner Solved\r\n   movestr='';\r\n%   movestr=solve_corners_str(r); % Not provided\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 20]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot_mini(move_vec(i),r);\r\n   end\r\n  end % corners\r\n  \r\n  % Solve Bottom by flipping to Top and running SpeedCube Sequences\r\n  \r\n  % Position Bottom to Top\r\n  r=rubik_rot_mini(25,r); % x2\r\n  solve_vec=[solve_vec 25];\r\n  \r\n  solved=0;\r\n  % Function Check u-rotate/solve\r\n  % Is Bottom layer solveable? Needs only a u u' or u2\r\n  if all(r(5:8)==r(5)) \u0026\u0026 r(1)==r(3)  \u0026\u0026 r(9)==r(11) \u0026\u0026 ...\r\n     r(21)==r(23)  \u0026\u0026 r(20)==r(18)\r\n   %Appears to have a U rotate solution\r\n   f_edge_loc=find(r([9 21 20 1])==r(10),1,'first');\r\n   %if isempty(f_edge_loc),continue;end % Bottom not solved\r\n   %if f_edge_loc==1, do nothing;end it is in right location\r\n   if f_edge_loc==2\r\n    r=rubik_rot_mini(1,r);\r\n    solve_vec=[solve_vec 1];\r\n   end\r\n   if f_edge_loc==3\r\n    r=rubik_rot_mini(13,r);\r\n    solve_vec=[solve_vec 13];\r\n   end\r\n   if f_edge_loc==4\r\n    r=rubik_rot_mini(7,r);\r\n    solve_vec=[solve_vec 7];\r\n   end\r\n   solved=1;\r\n%fprintf('U Rotate Solve Success\\n')\r\n  end % Bottom layer rotate to solve\r\n  \r\n  if ~all(r(5:8)==r(5)) % Multiple top face invalid - Try Quick full solve\r\n    movestr='';\r\n%    [movestr solved]=full_solve_bottom_str(r); % Not provided\r\n    if solved\r\n% fprintf('H Quick Full Solve Success\\n')\r\n%      view3D\r\n     move_vec=decode27_movestr_rev001(movestr);\r\n     solve_vec=[solve_vec move_vec];\r\n     for i=1:length(move_vec) \r\n      r=rubik_rot_mini(move_vec(i),r);\r\n     end\r\n%      view3D\r\n    end % Solved\r\n  end\r\n   \r\n \r\n  if ~solved % Execute Full Speed Cube Two Tier Methods\r\n    movestr='';\r\n %    movestr=solve_bottom_str(r); % Not provided\r\n    move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n    solve_vec=[solve_vec move_vec];\r\n   \r\n    for i=1:length(move_vec) \r\n     r=rubik_rot_mini(move_vec(i),r);\r\n    end\r\n  end\r\n  \r\n% Normal Cube Return Point\r\n  \r\n % Verify Solution and Generate Statistics\r\n  if all(r(1:4)==r(4)) \u0026\u0026 all(r(5:8)==r(8))  \u0026\u0026 all(r(9:12)==r(9)) \u0026\u0026 ...\r\n     all(r(13:16)==r(13))  \u0026\u0026 all(r(17:20)==r(17)) \u0026\u0026 all(r(21:24)==r(21))\r\n   solve_vec(solve_vec\u003e18)=[]; % \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n   fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n   fprintf('%i ',r); % Current ending data\r\n   fprintf('\\n')\r\n   fprintf('%i ',r_reset); % Starting Cube\r\n   view3D \r\n   pause(1) % Big Long pause\r\n  end\r\n  \r\nend % Games Loop\r\ntoc\r\n\r\n%view3D % appearance of final cube\r\n\r\nfprintf('\\n\\nThank You for Playing\\n\\nPlease come again.\\n')\r\n\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction  movestr=solve_orient_str(r)\r\n% % initialize cube\r\n%  r(1:4)=0;     %Left   0 R\r\n%  r(5:8)=1;     %Up     1 W\r\n%  r(9:12)=2;    %Front  2 B\r\n%  r(13:16)=3;   %Down   3 Y\r\n%  r(17:20)=4;   %Back   4 G\r\n%  r(21:24)=5;   %Right  5 O\r\npersistent m\r\nif isempty(m) % all moves leave possibly valid corners and cross alone\r\n    % w  r  b\r\n m={[ 6  3  9  ''];\r\n    [ 8 11 21  'y'];  \r\n    [ 7 23 20  'y2']; \r\n    [ 5 18  1  'yp'];\r\n    [10  4 13  'x'];\r\n    [14  2 17  'x2'];\r\n    [18  1  5  'xp'];\r\n    [ 4 13 10  'z'];\r\n    [15 22 12  'z2'];\r\n    [21  8 11  'zp'];\r\n    [12 15 22  'zx']; \r\n    [11 21  8  'z2x'];\r\n    [ 9  6  3  'zpx'];\r\n    [ 2 17 14  'ypx'];\r\n    [ 1  5 18  'x2z'];\r\n    [ 3  9  6  'xpz'];\r\n    [22 12 15  'yx'];\r\n    [23 20  7  'xpzp'];\r\n    [24 16 19  'x2zp'];\r\n    [20  7 23  'xpy'];\r\n    [17 14  2  'ypz'];\r\n    [19 24 16  'y2x'];\r\n    [13 10  4  'yx2']; \r\n    [16 19 24  'x2y']}; \r\nend\r\n u=1; % value of top\r\n L=0; % value of left face\r\n f=2; % value of front face\r\n for ptr=1:24\r\n  if r(abs(m{ptr}(1)))==u \u0026\u0026 r(abs(m{ptr}(2)))==L \u0026\u0026 r(abs(m{ptr}(3)))==f, break;end\r\n end\r\n \r\nmovestr=m{ptr}(4:end);\r\nend % solve orient\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\nfunction view3D\r\n global pmap plate zCmap r\r\n  hold on;\r\n  for i=1:24\r\n    idx=pmap(i);\r\n    fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx)+2,:),'LineWidth',2)  \r\n  end\r\n  hold off\r\n\r\nend\r\n\r\nfunction [pmap plate]=cube_faces()\r\n%global pmap plate\r\n% Sequence that cube faces are filled   \r\n  pmap=[ 2  4     1  3          ...\r\n        10 12     9 11          ...\r\n        24 22    23 21          ...\r\n        17 19    18 20          ...\r\n         5  7     6  8          ...\r\n        14 16    13 15          ];\r\n plate=zeros(54,12);\r\n % Could optimize creation or load from mat\r\n % Four 3D corners x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4\r\n plate(1,:)=[0 1 1 0 0 0 0 0 0 0 1 1]; \r\n plate(2,:)=[1 2 2 1 0 0 0 0 0 0 1 1]; \r\n plate(3,:)=[0 1 1 0 0 0 0 0 1 1 2 2]; \r\n plate(4,:)=[1 2 2 1 0 0 0 0 1 1 2 2]; \r\n \r\n plate(5,:)=[2 2 2 2 0 1 1 0 0 0 1 1];\r\n plate(6,:)=[2 2 2 2 1 2 2 1 0 0 1 1];\r\n plate(7,:)=[2 2 2 2 0 1 1 0 1 1 2 2];\r\n plate(8,:)=[2 2 2 2 1 2 2 1 1 1 2 2];\r\n \r\n plate(9:12,:)=plate(1:4,:);\r\n plate(9:12,5:8)=repmat(2,4,4);\r\n \r\n plate(13:16,:)=plate(5:8,:);\r\n plate(13:16,1:4)=zeros(4,4); %repmat(0,4,4); \r\n \r\n plate(17,:)=[0 1 1 0 0 0 1 1 2 2 2 2]; \r\n plate(18,:)=[0 1 1 0 1 1 2 2 2 2 2 2]; \r\n plate(19,:)=[1 2 2 1 0 0 1 1 2 2 2 2]; \r\n plate(20,:)=[1 2 2 1 1 1 2 2 2 2 2 2];\r\n\r\n plate(21:24,:)=plate(17:20,:);\r\n plate(21:24,9:12)=zeros(4,4); %repmat(0,4,4);  %\r\n  \r\nend\r\n\r\nfunction r=rubik_rot_mini(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 24 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 24\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:4 U 5:8 F 9:12 D 13:16 B 17:20 R 21:24 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[ 9  2  11  4  6   8   5   7 21  10   23  12 13  14  15  16 17   3   19   1 20  22   18  24 ; \r\n     1  2  13 15  5   4   7   3 10  12    9  11 22  14  21  16 17  18   19  20  6   8   23  24 ;\r\n     1 19   3 17  5   6   7   8  9   2   11   4 14  16  13  15 24  18   22  20 21  10   23  12 ;\r\n     2  4   1  3 17  18   7   8  5   6   11  12  9  10  15  16 13  14   19  20 21  22   23  24 ;\r\n     7  5   3  4 23   6  24   8  9  10   11  12 13   1  15   2 18  20   17  19 21  22   16  14 ;\r\n     1  2   3  4  5   6  11  12  9  10   15  16 13  14  19  20 17  18    7   8 22  24   21  23 ;\r\n    20  2  18  4  7   5   8   6  1  10    3  12 13  14  15  16 17  23   19  21  9  22   11  24 ;\r\n     1  2   8  6  5  21   7  22 11   9   12  10  3  14   4  16 17  18   19  20 15  13   23  24 ;\r\n     1 10   3 12  5   6   7   8  9  22   11  24 15  13  16  14  4  18    2  20 21  19   23  17 ;\r\n     3  1   4  2  9  10   7   8 13  14   11  12 17  18  15  16  5   6   19  20 21  22   23  24 ;\r\n    14 16   3  4  2   6   1   8  9  10   11  12 13  24  15  23 19  17   20  18 21  22    5   7 ;\r\n     1  2   3  4  5   6  19  20  9  10    7   8 13  14  11  12 17  18   15  16 23  21   24  22 ;\r\n    21  2  23  4  8   7   6   5 20  10   18  12 13  14  15  16 17  11   19   9  1  22    3  24 ;\r\n     1  2  22 21  5  15   7  13 12  11   10   9  8  14   6  16 17  18   19  20  4   3   23  24 ;\r\n     1 22   3 24  5   6   7   8  9  19   11  17 16  15  14  13 12  18   10  20 21   2   23   4 ;\r\n     4  3   2  1 13  14   7   8 17  18   11  12  5   6  15  16  9  10   19  20 21  22   23  24 ;\r\n    24 23   3  4 16   6  14   8  9  10   11  12 13   7  15   5 20  19   18  17 21  22    2   1 ;\r\n     1  2   3  4  5   6  15  16  9  10   19  20 13  14   7   8 17  18   11  12 24  23   22  21 ;\r\n     3  1   4  2  9  10  11  12 13  14   15  16 17  18  19  20  5   6    7   8 22  24   21  23 ;\r\n     9 10  11 12  6   8   5   7 21  22   23  24 15  13  16  14  4   3    2   1 20  19   18  17 ;\r\n    14 16  13 15  2   4   1   3 10  12    9  11 22  24  21  23 19  17   20  18  6   8    5   7 ;\r\n     2  4   1  3 17  18  19  20  5   6    7   8  9  10  11  12 13  14   15  16 23  21   24  22 ;\r\n    20 19  18 17  7   5   8   6  1   2    3   4 14  16  13  15 24  23   22  21  9  10   11  12 ;\r\n     7  5   8  6 23  21  24  22 11   9   12  10  3   1   4   2 18  20   17  19 15  13   16  14 ;\r\n     4  3   2  1 13  14  15  16 17  18   19  20  5   6   7   8  9  10   11  12 24  23   22  21 ;\r\n    21 22  23 24  8   7   6   5 20  19   18  17 16  15  14  13 12  11   10   9  1   2    3   4 ; \r\n    24 23  22 21 16  15  14  13 12  11   10   9  8   7   6   5 20  19   18  17  4   3    2   1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\nend\r\n\r\n\r\n\r\n%}\r\n\r\n\r\n","test_suite":"%%\r\nfeval(@assignin,'caller','score',0);\r\n%%\r\nvf=[9 2 11 4 6 8 5 7 21 10 23 12 13 14 15 16 17 3 19 1 20 22 18 24 ; \r\n    1 2 13 15 5 4 7 3 10 12 9 11 22 14 21 16 17 18 19 20 6 8 23 24 ;\r\n    1 19 3 17 5 6 7 8 9 2 11 4 14 16 13 15 24 18 22 20 21 10 23 12 ;\r\n    2 4 1 3 17 18 7 8 5 6 11 12 9 10 15 16 13 14 19 20 21 22 23 24 ;\r\n    7 5 3 4 23 6 24 8 9 10 11 12 13 1 15 2 18 20 17 19 21 22 16 14 ;\r\n    1 2 3 4 5 6 11 12 9 10 15 16 13 14 19 20 17 18 7 8 22 24 21 23 ;\r\n    20 2 18 4 7 5 8 6 1 10 3 12 13 14 15 16 17 23 19 21 9 22 11 24 ;\r\n    1 2 8 6 5 21 7 22 11 9 12 10 3 14 4 16 17 18 19 20 15 13 23 24 ;\r\n    1 10 3 12 5 6 7 8 9 22 11 24 15 13 16 14 4 18 2 20 21 19 23 17 ;\r\n    3 1 4 2 9 10 7 8 13 14 11 12 17 18 15 16 5 6 19 20 21 22 23 24 ;\r\n    14 16 3 4 2 6 1 8 9 10 11 12 13 24 15 23 19 17 20 18 21 22 5 7 ;\r\n    1 2 3 4 5 6 19 20 9 10 7 8 13 14 11 12 17 18 15 16 23 21 24 22 ;\r\n    21 2 23 4 8 7 6 5 20 10 18 12 13 14 15 16 17 11 19 9 1 22 3 24 ;\r\n    1 2 22 21 5 15 7 13 12 11 10 9 8 14 6 16 17 18 19 20 4 3 23 24 ;\r\n    1 22 3 24 5 6 7 8 9 19 11 17 16 15 14 13 12 18 10 20 21 2 23 4 ;\r\n    4 3 2 1 13 14 7 8 17 18 11 12 5 6 15 16 9 10 19 20 21 22 23 24 ;\r\n    24 23 3 4 16 6 14 8 9 10 11 12 13 7 15 5 20 19 18 17 21 22 2 1 ;\r\n    1 2 3 4 5 6 15 16 9 10 19 20 13 14 7 8 17 18 11 12 24 23 22 21 ;\r\n    3 1 4 2 9 10 11 12 13 14 15 16 17 18 19 20 5 6 7 8 22 24 21 23 ;\r\n    9 10 11 12 6 8 5 7 21 22 23 24 15 13 16 14 4 3 2 1 20 19 18 17 ;\r\n    14 16 13 15 2 4 1 3 10 12 9 11 22 24 21 23 19 17 20 18 6 8 5 7 ;\r\n    2 4 1 3 17 18 19 20 5 6 7 8 9 10 11 12 13 14 15 16 23 21 24 22 ;\r\n    20 19 18 17 7 5 8 6 1 2 3 4 14 16 13 15 24 23 22 21 9 10 11 12 ;\r\n    7 5 8 6 23 21 24 22 11 9 12 10 3 1 4 2 18 20 17 19 15 13 16 14 ;\r\n    4 3 2 1 13 14 15 16 17 18 19 20 5 6 7 8 9 10 11 12 24 23 22 21 ;\r\n    21 22 23 24 8 7 6 5 20 19 18 17 16 15 14 13 12 11 10 9 1 2 3 4 ; \r\n    24 23 22 21 16 15 14 13 12 11 10 9 8 7 6 5 20 19 18 17 4 3 2 1 ];\r\n\r\n%r=r(vf(mov,:));  % Standard move, r=rubik_rot_min(mov,r);\r\n\r\nPass=1;\r\nr_fail=0;\r\n% Execute 500 cubes and verify completeness and count moves\r\n % initialize cube\r\n r(1:4)=0;     %Left   0 R\r\n r(5:8)=1;     %Up     1 W\r\n r(9:12)=2;    %Front  2 B\r\n r(13:16)=3;   %Down   3 Y\r\n r(17:20)=4;   %Back   4 G\r\n r(21:24)=5;   %Right  5 O\r\n rnorm=r;\r\n\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\nasolve=199;\r\nmix=40;\r\n\r\ntic\r\n\r\nwhile zcnt\u003c500\r\n zcnt=zcnt+1;\r\n  r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov)  % Ignoring Move Undos since mix=40\r\n  %r=rubik_rot(mov(i),r);\r\n   r=r(vf(mov(i),:));\r\n end\r\n\r\n r_reset=r; % Used in assert\r\n\r\n solve_vec=rubik_solve_mini(r);\r\n\r\n for i=1:length(solve_vec) \r\n  %r=rubik_rot(solve_vec(i),r);\r\n  r=r(vf(solve_vec(i),:));\r\n end\r\n\r\n  if all(r(1:4)==r(4)) \u0026\u0026 all(r(5:8)==r(8))  \u0026\u0026 all(r(9:12)==r(9)) \u0026\u0026 ...\r\n     all(r(13:16)==r(13))  \u0026\u0026 all(r(17:20)==r(17)) \u0026\u0026 all(r(21:24)==r(21))\r\n   solve_vec(solve_vec\u003e18)=[]; %   \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n %  fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   Pass=0;\r\n   r_fail=r_reset;\r\n  % fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n  % fprintf('%i ',r); % Current ending data\r\n  % fprintf('\\n')\r\n  % fprintf('%i ',r_reset); % Starting Cube\r\n  end\r\n\r\nend % while of cubes\r\ntoc\r\n\r\nassert(isequal(Pass,1),sprintf('%i ',r_fail)); % Output Non-Solved Cube Start\r\nif Pass\r\n feval(@assignin,'caller','score',min(100,floor(asolve)));\r\nend\r\n\r\nfprintf('Moves: Avg %i   Min %i   Max %i\\n',asolve,min_solve,max_solve)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-09-04T03:44:49.000Z","updated_at":"2025-04-22T03:20:12.000Z","published_at":"2012-09-04T05:01:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.png\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId3\",\"target\":\"/media/image1.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Performance metric is average number of moves for solving 500 cubes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Input: (rubik)\\n\\nrubik: row vector of size 24\\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\\n\\nOutput: move_vec (Numeric of moves to solve)\\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] which are the complements in reverse order.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eScoring is average face moves for 500 cubes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA string to numeric value function is provided in the template\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function rubik_rot_mini(mov,r) is provided in the template.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://kociemba.org/cube.htm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCube Theory: 20-moves Any Cube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGeneral Cube Info and Middle Layer\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.speedcubing.com/final_layer_print.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpeedCube Bottom Sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e(Note: Mini-Cube can use the full cube moves and ignore edge effects)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eComing Soon: The Mini-Cube (2x2x2): Full Random - Eleven or Less Moves\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"},{\"partUri\":\"/media/image2.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"},{"id":886,"title":"Rubik's Cube: Solve Randomized Cube  - Score : Moves","description":"The Challenge is to Solve a thoroughly scrambled Rubik's Cube.\r\n\r\nThe Performance metric is average number of moves for solving 200 cubes.\r\n\r\nA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\r\n\r\nThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\r\n\r\nMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\r\n\r\n\r\n\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/cube_small.gif\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Cube_Map28_200.png\u003e\u003e\r\n\r\n\u003c\u003chttp://mathworks.com/matlabcentral/images/surf.gif\u003e\u003e\r\n\r\n\r\n  \r\n  \r\n  Input: (rubik)\r\n  \r\n  rubik: row vector of size 54\r\n  (The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\r\n  Output: move_vec (Numeric of moves to solve)\r\n   move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\r\n* Example:\r\n* If the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order. \r\n* Scoring is average face moves for 200 cubes\r\n* Cube Moves X, Y, and Z do not constitute a move but are needed in the vector \r\n* A string to numeric value function is provided in the template\r\n* Verifications will be by executing your move vector against the provided Rubik and counting number of face moves.\r\n\r\nThe function rubik_rot(mov,r) is available for intermediate processing\r\n\r\n\r\nThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\r\n\r\n\r\n* \r\n* \u003chttp://kociemba.org/cube.htm Cube Theory: 20-moves Any Cube\u003e \r\n* \u003chttp://peter.stillhq.com/jasmine/rubikscubesolution.html General Cube Info and Middle Layer\u003e\r\n* \u003chttp://www.speedcubing.com/final_layer_print.html SpeedCube Bottom Sequences\u003e\r\n\r\n\r\nComing Soon: The Mini-Cube  (2x2x2)  Not as easy as it looks","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 1195.12px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 597.567px; transform-origin: 407px 597.567px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.733px 7.91667px; transform-origin: 199.733px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Challenge is to Solve a thoroughly scrambled Rubik's Cube.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 235.333px 7.91667px; transform-origin: 235.333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Performance metric is average number of moves for solving 200 cubes.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 340.283px 7.91667px; transform-origin: 340.283px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 316.733px 7.91667px; transform-origin: 316.733px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 374.7px 7.91667px; transform-origin: 374.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 134.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 67.4667px; text-align: center; transform-origin: 384px 67.4667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 246.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 123.467px; text-align: center; transform-origin: 384px 123.467px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 113.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 56.9667px; text-align: center; transform-origin: 384px 56.9667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 143.033px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 71.5167px; transform-origin: 404px 71.5167px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eInput: (rubik)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 7.91667px; transform-origin: 0px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 107.8px 7.91667px; transform-origin: 107.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 69.3px 7.91667px; transform-origin: 69.3px 7.91667px; \"\u003erubik: row vector \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 38.5px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 38.5px 7.91667px; \"\u003eof size 54\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 304.15px 7.91667px; transform-origin: 304.15px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 7.91667px; transform-origin: 0px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 169.4px 7.91667px; transform-origin: 169.4px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eOutput: move_vec (Numeric of moves to solve)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 284.9px 7.91667px; transform-origin: 284.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 84.7px 7.91667px; transform-origin: 84.7px 7.91667px; \"\u003e move_vec:values 1:27 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 15.4px 7.91667px; text-decoration: none; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 15.4px 7.91667px; \"\u003efor \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 127.05px 7.91667px; transform-origin: 127.05px 7.91667px; \"\u003eUFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(196, 0, 0); border-block-start-color: rgb(196, 0, 0); border-bottom-color: rgb(196, 0, 0); border-inline-end-color: rgb(196, 0, 0); border-inline-start-color: rgb(196, 0, 0); border-left-color: rgb(196, 0, 0); border-right-color: rgb(196, 0, 0); border-top-color: rgb(196, 0, 0); caret-color: rgb(196, 0, 0); color: rgb(196, 0, 0); column-rule-color: rgb(196, 0, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(196, 0, 0); perspective-origin: 57.75px 7.91667px; text-decoration: none; text-decoration-color: rgb(196, 0, 0); text-emphasis-color: rgb(196, 0, 0); transform-origin: 57.75px 7.91667px; \"\u003eXYZX'Y'Z'X2Y2Z2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cul style=\"block-size: 122.6px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 61.3px; transform-origin: 391px 61.3px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 29.1833px 7.91667px; transform-origin: 29.1833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 341.067px 7.91667px; transform-origin: 341.067px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 140.033px 7.91667px; transform-origin: 140.033px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eScoring is average face moves for 200 cubes\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 242.583px 7.91667px; transform-origin: 242.583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 187.1px 7.91667px; transform-origin: 187.1px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA string to numeric value function is provided in the template\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 355.933px 7.91667px; transform-origin: 355.933px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 212.267px 7.91667px; transform-origin: 212.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe function rubik_rot(mov,r) is available for intermediate processing\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 382px 7.91667px; transform-origin: 382px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 81.7333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 40.8667px; transform-origin: 391px 40.8667px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://kociemba.org/cube.htm\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eCube Theory: 20-moves Any Cube\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://peter.stillhq.com/jasmine/rubikscubesolution.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGeneral Cube Info and Middle Layer\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://www.speedcubing.com/final_layer_print.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpeedCube Bottom Sequences\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 189.433px 7.91667px; transform-origin: 189.433px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eComing Soon: The Mini-Cube (2x2x2) Not as easy as it looks\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function solve_vec = rubik_solve(r)\r\n% Expect Numeric representation of moves (1:27):\r\n% 1:27 are ufdlbr upfpdplpbprp u2f2d2l2b2r2 xyzxpypzpx2y2z2\r\n solve_vec=[]; \r\nend\r\n\r\n% Convert Standard cube notation into numeric solv_vec values\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n% This function is already loaded and hashed. This is primarily for info\r\nfunction r=rubik_rot(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 54 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 54\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:9 U 10:18 F 19:27 D 28:36 B 37:45 R 46:54 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[19 2 3 22 5 6 25 8 9 12 15 18 11 14 17 10 13 16 46 20 21 49 23 24 52 26 27 28 29 30 31 32 33 34 35 36 37 38 7 40 41 4 43 44 1 45 47 48 42 50 51 39 53 54; \r\n  1 2 3 4 5 6 28 31 34 10 11 9 13 14 8 16 17 7 21 24 27 20 23 26 19 22 25 48 29 30 47 32 33 46 35 36 37 38 39 40 41 42 43 44 45 12 15 18 49 50 51 52 53 54 ;\r\n  1 2 43 4 5 40 7 8 37 10 11 12 13 14 15 16 17 18 19 20 3 22 23 6 25 26 9 30 33 36 29 32 35 28 31 34 54 38 39 51 41 42 48 44 45 46 47 21 49 50 24 52 53 27 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 13 14 15 16 17 18 10 11 12 22 23 24 25 26 27 19 20 21 31 32 33 34 35 36 28 29 30 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  16 13 10 4 5 6 7 8 9 52 11 12 53 14 15 54 17 18 19 20 21 22 23 24 25 26 27 28 29 1 31 32 2 34 35 3 39 42 45 38 41 44 37 40 43 46 47 48 49 50 51 36 33 30 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 26 27 19 20 21 22 23 24 34 35 36 28 29 30 31 32 33 43 44 45 37 38 39 40 41 42 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  45 2 3 42 5 6 39 8 9 16 13 10 17 14 11 18 15 12 1 20 21 4 23 24 7 26 27 28 29 30 31 32 33 34 35 36 37 38 52 40 41 49 43 44 46 19 47 48 22 50 51 25 53 54 ;\r\n  1 2 3 4 5 6 18 15 12 10 11 46 13 14 47 16 17 48 25 22 19 26 23 20 27 24 21 7 29 30 8 32 33 9 35 36 37 38 39 40 41 42 43 44 45 34 31 28 49 50 51 52 53 54 ;\r\n  1 2 21 4 5 24 7 8 27 10 11 12 13 14 15 16 17 18 19 20 48 22 23 51 25 26 54 34 31 28 35 32 29 36 33 30 9 38 39 6 41 42 3 44 45 46 47 43 49 50 40 52 53 37 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 13 14 15 16 17 18 28 29 30 22 23 24 25 26 27 37 38 39 31 32 33 34 35 36 10 11 12 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  30 33 36 4 5 6 7 8 9 3 11 12 2 14 15 1 17 18 19 20 21 22 23 24 25 26 27 28 29 54 31 32 53 34 35 52 43 40 37 44 41 38 45 42 39 46 47 48 49 50 51 10 13 16 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 43 44 45 19 20 21 22 23 24 16 17 18 28 29 30 31 32 33 25 26 27 37 38 39 40 41 42 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  46 2 3 49 5 6 52 8 9 18 17 16 15 14 13 12 11 10 45 20 21 42 23 24 39 26 27 28 29 30 31 32 33 34 35 36 37 38 25 40 41 22 43 44 19 1 47 48 4 50 51 7 53 54 ;\r\n  1 2 3 4 5 6 48 47 46 10 11 34 13 14 31 16 17 28 27 26 25 24 23 22 21 20 19 18 29 30 15 32 33 12 35 36 37 38 39 40 41 42 43 44 45 9 8 7 49 50 51 52 53 54 ;\r\n  1 2 48 4 5 51 7 8 54 10 11 12 13 14 15 16 17 18 19 20 43 22 23 40 25 26 37 36 35 34 33 32 31 30 29 28 27 38 39 24 41 42 21 44 45 46 47 3 49 50 6 52 53 9 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 13 14 15 16 17 18 37 38 39 22 23 24 25 26 27 10 11 12 31 32 33 34 35 36 19 20 21 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  54 53 52 4 5 6 7 8 9 36 11 12 33 14 15 30 17 18 19 20 21 22 23 24 25 26 27 28 29 16 31 32 13 34 35 10 45 44 43 42 41 40 39 38 37 46 47 48 49 50 51 3 2 1 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 34 35 36 19 20 21 22 23 24 43 44 45 28 29 30 31 32 33 16 17 18 37 38 39 40 41 42 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  19 20 21 22 23 24 25 26 27 12 15 18 11 14 17 10 13 16 46 47 48 49 50 51 52 53 54 34 31 28 35 32 29 36 33 30 9 8 7 6 5 4 3 2 1 45 44 43 42 41 40 39 38 37 ;\r\n  30 33 36 29 32 35 28 31 34 3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 48 51 54 47 50 53 46 49 52 43 40 37 44 41 38 45 42 39 12 15 18 11 14 17 10 13 16 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  45 44 43 42 41 40 39 38 37 16 13 10 17 14 11 18 15 12 1 2 3 4 5 6 7 8 9 30 33 36 29 32 35 28 31 34 54 53 52 51 50 49 48 47 46 19 20 21 22 23 24 25 26 27 ;\r\n  16 13 10 17 14 11 18 15 12 52 49 46 53 50 47 54 51 48 25 22 19 26 23 20 27 24 21 7 4 1 8 5 2 9 6 3 39 42 45 38 41 44 37 40 43 34 31 28 35 32 29 36 33 30 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  46 47 48 49 50 51 52 53 54 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 1 2 3 4 5 6 7 8 9 ; \r\n  54 53 52 51 50 49 48 47 46 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 9 8 7 6 5 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\n\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\n% Cube Viewer and Cube Solver Development Environment\r\n%{\r\nfunction Rubik_3D_2754_Solver_viewer\r\n%Rubiks Cube Play\r\n%Creator: Richard Zapor\r\n% 09/01/12\r\nclear all\r\nglobal pmap plate zCmap r  % For 3D  viewer\r\n\r\n% initialize cube\r\n r(1:9)=0;     %Left   0 R\r\n r(10:18)=1;   %Up     1 W\r\n r(19:27)=2;   %Front  2 B\r\n r(28:36)=3;   %Down   3 Y\r\n r(37:45)=4;   %Back   4 G\r\n r(46:54)=5;   %Right  5 O\r\n rnorm=r;\r\n \r\n % Map 3D platelettes and surfaces\r\n [pmap plate]=cube_faces; % One time association of array to 3D surfaces\r\n  % zCmap=[0,0,0;1,1,1;0,0,1;1,1,0;1,0,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Wht,3-Blu,4-Yellow,5-Red,6-Green,7-Orange\r\n  \r\n  zCmap=[0,0,0;1,0,0;1,1,1;0,0,1;1,1,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Red,3-Wht,4-Blu,5-Yellow,6-Green,7-Orange\r\n\r\n% Initialize 3D figure\r\nfigure(2);set(gca,'CameraPosition',[6 -2 7]); % Initial 3D setup\r\n   axis ([-1 4 -1 4 -1 4]);\r\n   axis equal % This is slow but needed for free rotate 1.2 sec\r\n   axis off\r\nview3D % Calls subroutine that produces a 3D image in figure 2\r\n\r\n% r=rubik_rot2(r,mov)\r\n% mov is 1:27;  1-6 UFDLB 7-12 U'F;D'L'B' 13-18 U2F2D2L2B2 \r\n%             22-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n\r\nfprintf('Move Entry (UFDLBRXYZ) eg U U2 U'' (or Up) or G=GoReset P=Play Q-Quit  :\\n');\r\nwhile 1 % Infinite loop\r\n str1=input('Enter Move(s):','s');\r\n if isempty(str1),continue;end\r\n movestr1=regexp(upper(strtrim(str1)),'\\s*','split');\r\n if movestr1{1}=='P',break;end\r\n if movestr1{1}=='Q',return;end\r\n if movestr1{1}=='G'\r\n  r=rnorm;\r\n  view3D\r\n  continue;\r\n end\r\n \r\n move_vec=decode27_movestr_rev001(str1);\r\n \r\n for i=1:length(move_vec) \r\n  r=rubik_rot(move_vec(i),r);\r\n end\r\n view3D\r\n%  pause(0.1)\r\n \r\nend % while move manipulation practice loop\r\n\r\n% Setup Cube and Play\r\n\r\nfprintf('\\n\\nSolve Multiple Cubes\\n')\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\ntic\r\nwhile 1 % Games loop\r\n    mix=40; % Very random cube\r\n    zcnt=zcnt+1;\r\n    if zcnt\u003e10,break;end\r\n% mix=input('\\n\\nHow many random face rotations? (0=Exit) : ');\r\n% if isempty(mix),continue;end\r\n\r\n r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov) \r\n  if i\u003e1 % Eliminate move undos\r\n  % f2 f2 or f f'  or f' f\r\n   if (mov(i)\u003e12 \u0026\u0026 mov(i-1)==mov(i))||(mov(i-1)\u003c7 \u0026\u0026 mov(i)==mov(i-1)+6)||...\r\n       (mov(i-1)\u003e6  \u0026\u0026 mov(i)==mov(i-1)-6)    \r\n    mov(i)=mov(i)+1;   % 1:17 map to 2:18  18 map to 1\r\n    if mov(i)==19,mov(i)=1;end\r\n   end\r\n  end\r\n  r=rubik_rot(mov(i),r);\r\n end\r\n \r\n r_reset=r;\r\n \r\n solve_vec=[];\r\n \r\n % Check cube for Good face and Edges\r\n % Place on Up; Solve Cross/Corners with u u' or u2\r\n % Assures single move i solved in 1 move, may solve at bottom solid face\r\n % check\r\n \r\n% Insert Solution Code Starting Here\r\n \r\n   \r\n  for icross=1:4 % Solve cross\r\n   movestr=solve_cross_str(r);\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % cross\r\n  \r\n  view3D\r\n% No further moves are implemented\r\n  \r\n  % Solve Top Corners\r\n  for corners=1:4 % Solve Top corners TLFC\r\n   movestr='';\r\n   %movestr=solve_corners_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % corners\r\n  \r\n  % Solve Middle Edges\r\n  for edges=1:4 % Solve Edge MLFE\r\n   movestr='';\r\n   %movestr=solve_edges_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % MLFE\r\n  \r\n  % Solve Bottom by flipping to Top and running SpeedCube Sequences\r\n  \r\n  % Position Bottom to Top\r\n  r=rubik_rot(25,r);\r\n  solve_vec=[solve_vec 25];\r\n\r\n  \r\n\r\n  \r\n  if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   fprintf('Cube Solved Prior to Bottom Corrections Moves=%i\\n',length(solve_vec))\r\n  else\r\n   %view3D\r\n    movestr='';\r\n  % movestr=solve_bottom_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end\r\n   \r\n % Normal Cube Return Point\r\n  \r\n % Verify Solution and Generate Statistics\r\n  if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   solve_vec(solve_vec\u003e18)=[]; % \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n   fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n   fprintf('%i ',r); % Current ending data\r\n   fprintf('\\n')\r\n   fprintf('%i ',r_reset); % Starting Cube\r\n   view3D \r\n   pause(30) % Big Long pause\r\n  end\r\n  \r\n\r\nend % Games Loop\r\ntoc\r\n\r\nview3D % appearance of final cube\r\n\r\nfprintf('\\n\\nThank You for Playing\\n\\nPlease come again.\\n')\r\n\r\nend\r\n\r\nfunction  movestr=solve_cross_str(r)\r\npersistent m\r\nif isempty(m) % all moves leave possibly valid cross members unscathed\r\n m={[15 22  ''];\r\n    [22 15 'f2drfprp'];  \r\n    [17 49 'r2dpf2']; \r\n    [49 17 'rpfp'];\r\n    [13 42 'b2d2f2'];\r\n    [42 13 'b2dprfprp'];\r\n    [11  4 'l2df2'];\r\n    [ 4 11 'lf'];\r\n    [26 47 'rpdprf2'];\r\n    [47 26 'fp'];\r\n    [53 44 'r2fpr2']; \r\n    [44 53 'rdprpf2'];\r\n    [38  2 'lpdlf2'];\r\n    [ 2 38 'l2fl2'];\r\n    [ 8 20 'f'];\r\n    [20  8 'ldlpf2'];\r\n    [24 31 'drfprp'];\r\n    [31 24 'f2'];\r\n    [51 35 'rfprp'];\r\n    [35 51 'dpf2'];\r\n    [40 33 'dprfprp'];\r\n    [33 40 'd2f2'];\r\n    [ 6 29 'lpfl'];\r\n    [ 29 6 'df2']};\r\nend\r\n u=r(14); % value of top\r\n f=r(23); % value of front face\r\n for ptr=1:24\r\n  if r(abs(m{ptr}(1)))==u \u0026\u0026 r(abs(m{ptr}(2)))==f, break;end\r\n end\r\n \r\n movestr=m{ptr}(3:end);\r\nend % solve cross\r\n\r\n\r\n\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n\r\n\r\nfunction view3D\r\n global pmap plate zCmap r\r\n  hold on;\r\n  for i=1:54\r\n    idx=pmap(i);\r\n    fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx)+2,:),'LineWidth',2) \r\n   % fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx),:),'LineWidth',2) \r\n  end\r\n  hold off\r\n\r\nend\r\n\r\n\r\n\r\nfunction [pmap plate]=cube_faces()\r\n%global pmap plate\r\n% Sequence that cube faces are filled\r\n pmap=[3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 ...\r\n       54 51 48 53 50 47 52 49 46 ...\r\n       37 40 43 38 41 44 39 42 45 ...\r\n       10 13 16 11 14 17 12 15 18 ...\r\n       30 33 36 29 32 35 28 31 34 ];\r\n plate=zeros(54,12);\r\n % Could optimize creation or load from mat\r\n % Four 3D corners x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4\r\n plate(1,:)=[0 1 1 0 0 0 0 0 0 0 1 1];\r\n plate(2,:)=[1 2 2 1 0 0 0 0 0 0 1 1];\r\n plate(3,:)=[2 3 3 2 0 0 0 0 0 0 1 1];\r\n plate(4,:)=[0 1 1 0 0 0 0 0 1 1 2 2];\r\n plate(5,:)=[1 2 2 1 0 0 0 0 1 1 2 2];\r\n plate(6,:)=[2 3 3 2 0 0 0 0 1 1 2 2];\r\n plate(7,:)=[0 1 1 0 0 0 0 0 2 2 3 3];\r\n plate(8,:)=[1 2 2 1 0 0 0 0 2 2 3 3];\r\n plate(9,:)=[2 3 3 2 0 0 0 0 2 2 3 3];\r\n \r\n plate(10,:)=[3 3 3 3 0 1 1 0 0 0 1 1];\r\n plate(11,:)=[3 3 3 3 1 2 2 1 0 0 1 1];\r\n plate(12,:)=[3 3 3 3 2 3 3 2 0 0 1 1];\r\n plate(13,:)=[3 3 3 3 0 1 1 0 1 1 2 2];\r\n plate(14,:)=[3 3 3 3 1 2 2 1 1 1 2 2];\r\n plate(15,:)=[3 3 3 3 2 3 3 2 1 1 2 2];\r\n plate(16,:)=[3 3 3 3 0 1 1 0 2 2 3 3];\r\n plate(17,:)=[3 3 3 3 1 2 2 1 2 2 3 3];\r\n plate(18,:)=[3 3 3 3 2 3 3 2 2 2 3 3];\r\n \r\n plate(19:27,:)=plate(1:9,:);\r\n plate(19:27,5:8)=repmat(3,9,4);\r\n \r\n plate(28:36,:)=plate(10:18,:);\r\n plate(28:36,1:4)=zeros(9,4); %repmat(0,9,4);\r\n \r\n plate(37,:)=[0 1 1 0 0 0 1 1 3 3 3 3];\r\n plate(38,:)=[0 1 1 0 1 1 2 2 3 3 3 3];\r\n plate(39,:)=[0 1 1 0 2 2 3 3 3 3 3 3];\r\n plate(40,:)=[1 2 2 1 0 0 1 1 3 3 3 3];\r\n plate(41,:)=[1 2 2 1 1 1 2 2 3 3 3 3];\r\n plate(42,:)=[1 2 2 1 2 2 3 3 3 3 3 3];\r\n plate(43,:)=[2 3 3 2 0 0 1 1 3 3 3 3];\r\n plate(44,:)=[2 3 3 2 1 1 2 2 3 3 3 3];\r\n plate(45,:)=[2 3 3 2 2 2 3 3 3 3 3 3];\r\n \r\n plate(46:54,:)=plate(37:45,:);\r\n plate(46:54,9:12)=zeros(9,4); %repmat(0,9,4);\r\n  \r\nend\r\n\r\n\r\n\r\nfunction r=rubik_rot(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 54 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 54\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:9 U 10:18 F 19:27 D 28:36 B 37:45 R 46:54 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[19 2 3 22 5 6 25 8 9 12 15 18 11 14 17 10 13 16 46 20 21 49 23 24 52 26 27 28 29 30 31 32 33 34 35 36 37 38 7 40 41 4 43 44 1 45 47 48 42 50 51 39 53 54; \r\n  1 2 3 4 5 6 28 31 34 10 11 9 13 14 8 16 17 7 21 24 27 20 23 26 19 22 25 48 29 30 47 32 33 46 35 36 37 38 39 40 41 42 43 44 45 12 15 18 49 50 51 52 53 54 ;\r\n  1 2 43 4 5 40 7 8 37 10 11 12 13 14 15 16 17 18 19 20 3 22 23 6 25 26 9 30 33 36 29 32 35 28 31 34 54 38 39 51 41 42 48 44 45 46 47 21 49 50 24 52 53 27 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 13 14 15 16 17 18 10 11 12 22 23 24 25 26 27 19 20 21 31 32 33 34 35 36 28 29 30 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  16 13 10 4 5 6 7 8 9 52 11 12 53 14 15 54 17 18 19 20 21 22 23 24 25 26 27 28 29 1 31 32 2 34 35 3 39 42 45 38 41 44 37 40 43 46 47 48 49 50 51 36 33 30 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 26 27 19 20 21 22 23 24 34 35 36 28 29 30 31 32 33 43 44 45 37 38 39 40 41 42 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  45 2 3 42 5 6 39 8 9 16 13 10 17 14 11 18 15 12 1 20 21 4 23 24 7 26 27 28 29 30 31 32 33 34 35 36 37 38 52 40 41 49 43 44 46 19 47 48 22 50 51 25 53 54 ;\r\n  1 2 3 4 5 6 18 15 12 10 11 46 13 14 47 16 17 48 25 22 19 26 23 20 27 24 21 7 29 30 8 32 33 9 35 36 37 38 39 40 41 42 43 44 45 34 31 28 49 50 51 52 53 54 ;\r\n  1 2 21 4 5 24 7 8 27 10 11 12 13 14 15 16 17 18 19 20 48 22 23 51 25 26 54 34 31 28 35 32 29 36 33 30 9 38 39 6 41 42 3 44 45 46 47 43 49 50 40 52 53 37 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 13 14 15 16 17 18 28 29 30 22 23 24 25 26 27 37 38 39 31 32 33 34 35 36 10 11 12 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  30 33 36 4 5 6 7 8 9 3 11 12 2 14 15 1 17 18 19 20 21 22 23 24 25 26 27 28 29 54 31 32 53 34 35 52 43 40 37 44 41 38 45 42 39 46 47 48 49 50 51 10 13 16 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 43 44 45 19 20 21 22 23 24 16 17 18 28 29 30 31 32 33 25 26 27 37 38 39 40 41 42 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  46 2 3 49 5 6 52 8 9 18 17 16 15 14 13 12 11 10 45 20 21 42 23 24 39 26 27 28 29 30 31 32 33 34 35 36 37 38 25 40 41 22 43 44 19 1 47 48 4 50 51 7 53 54 ;\r\n  1 2 3 4 5 6 48 47 46 10 11 34 13 14 31 16 17 28 27 26 25 24 23 22 21 20 19 18 29 30 15 32 33 12 35 36 37 38 39 40 41 42 43 44 45 9 8 7 49 50 51 52 53 54 ;\r\n  1 2 48 4 5 51 7 8 54 10 11 12 13 14 15 16 17 18 19 20 43 22 23 40 25 26 37 36 35 34 33 32 31 30 29 28 27 38 39 24 41 42 21 44 45 46 47 3 49 50 6 52 53 9 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 13 14 15 16 17 18 37 38 39 22 23 24 25 26 27 10 11 12 31 32 33 34 35 36 19 20 21 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  54 53 52 4 5 6 7 8 9 36 11 12 33 14 15 30 17 18 19 20 21 22 23 24 25 26 27 28 29 16 31 32 13 34 35 10 45 44 43 42 41 40 39 38 37 46 47 48 49 50 51 3 2 1 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 34 35 36 19 20 21 22 23 24 43 44 45 28 29 30 31 32 33 16 17 18 37 38 39 40 41 42 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  19 20 21 22 23 24 25 26 27 12 15 18 11 14 17 10 13 16 46 47 48 49 50 51 52 53 54 34 31 28 35 32 29 36 33 30 9 8 7 6 5 4 3 2 1 45 44 43 42 41 40 39 38 37 ;\r\n  30 33 36 29 32 35 28 31 34 3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 48 51 54 47 50 53 46 49 52 43 40 37 44 41 38 45 42 39 12 15 18 11 14 17 10 13 16 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  45 44 43 42 41 40 39 38 37 16 13 10 17 14 11 18 15 12 1 2 3 4 5 6 7 8 9 30 33 36 29 32 35 28 31 34 54 53 52 51 50 49 48 47 46 19 20 21 22 23 24 25 26 27 ;\r\n  16 13 10 17 14 11 18 15 12 52 49 46 53 50 47 54 51 48 25 22 19 26 23 20 27 24 21 7 4 1 8 5 2 9 6 3 39 42 45 38 41 44 37 40 43 34 31 28 35 32 29 36 33 30 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  46 47 48 49 50 51 52 53 54 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 1 2 3 4 5 6 7 8 9 ; \r\n  54 53 52 51 50 49 48 47 46 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 9 8 7 6 5 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\n\r\nend\r\n\r\n\r\n\r\n%}","test_suite":"%%\r\n% Load function rubik_rot.m\r\ntic\r\n%urlwrite('http://tinyurl.com/matlab-rubik-rot','rubik_rot.m') ;\r\nfname='https://sites.google.com/site/razapor/matlab_cody/rubik_rot.m?attredirects=0\u0026d=1';\r\nurlwrite(fname,'rubik_rot.m');\r\n%urlwrite('http://rmatlabtest.appspot.com/rubik_rot.m','rubik_rot.m') ;\r\nrehash path\r\ntoc\r\n%%\r\nfeval(@assignin,'caller','score',0);\r\n%%\r\nPass=1;\r\nr_fail=0;\r\n% Execute 200 cubes and verify completeness and count moves\r\n r(1:9)=0;     %Left   0 R\r\n r(10:18)=1;   %Up     1 W\r\n r(19:27)=2;   %Front  2 B\r\n r(28:36)=3;   %Down   3 Y\r\n r(37:45)=4;   %Back   4 G\r\n r(46:54)=5;   %Right  5 O\r\n rnorm=r;\r\n\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\nasolve=199;\r\nmix=40;\r\n\r\nwhile zcnt\u003c200\r\n zcnt=zcnt+1;\r\n  r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov)  % Ignoring Move Undos since mix=40\r\n  r=rubik_rot(mov(i),r);\r\n end\r\n\r\n r_reset=r; % Used in assert\r\n\r\n solve_vec=rubik_solve(r);\r\n\r\n for i=1:length(solve_vec) \r\n  r=rubik_rot(solve_vec(i),r);\r\n end\r\n\r\n if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   solve_vec(solve_vec\u003e18)=[];  \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n %  fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   Pass=0;\r\n   r_fail=r_reset;\r\n  % fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n  % fprintf('%i ',r); % Current ending data\r\n  % fprintf('\\n')\r\n  % fprintf('%i ',r_reset); % Starting Cube\r\n  end\r\n\r\nend % while of cubes\r\ntoc\r\n\r\nassert(isequal(Pass,1),sprintf('%i ',r_fail)); % Output Non-Solved Cube Start\r\nif Pass\r\n feval(@assignin,'caller','score',min(200,floor(asolve)));\r\nend\r\n\r\nfprintf('Moves: Avg %i   Min %i   Max %i\\n',asolve,min_solve,max_solve)\r\n \r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-09-29T17:59:35.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2012-08-09T05:09:30.000Z","updated_at":"2025-12-23T14:48:57.000Z","published_at":"2012-09-03T07:19:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Challenge is to Solve a thoroughly scrambled Rubik's Cube.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Performance metric is average number of moves for solving 200 cubes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Input: (rubik)\\n\\nrubik: row vector of size 54\\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\\n\\nOutput: move_vec (Numeric of moves to solve)\\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eScoring is average face moves for 200 cubes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA string to numeric value function is provided in the template\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function rubik_rot(mov,r) is available for intermediate processing\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://kociemba.org/cube.htm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCube Theory: 20-moves Any Cube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGeneral Cube Info and Middle Layer\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.speedcubing.com/final_layer_print.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpeedCube Bottom Sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eComing Soon: The Mini-Cube (2x2x2) Not as easy as it looks\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.gif\",\"relationshipId\":\"rId1\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId2\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image2.gif\",\"relationshipId\":\"rId3\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":931,"title":"Rubik's Mini-Cube: Solve Randomized Mini-Cube - Score : Moves","description":"The Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\r\n\r\nThe Performance metric is average number of moves for solving 500 cubes.\r\n\r\nA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\r\n\r\nThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\r\n\r\nMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\r\n\r\n\r\n\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/minicube2.png\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/miniCube_Map24_200.png\u003e\u003e\r\n\r\n\u003c\u003chttp://mathworks.com/matlabcentral/images/surf.gif\u003e\u003e\r\n\r\n\r\n  \r\n  \r\n  Input: (rubik)\r\n  \r\n  rubik: row vector of size 24\r\n  (The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\r\n  Output: move_vec (Numeric of moves to solve)\r\n   move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\r\n* Example:\r\n* If the cube was randomized by [1 9] UD', one solution is [3 7]  which are the complements in reverse order. \r\n* Scoring is average face moves for 500 cubes\r\n* Cube Moves X, Y, and Z do not constitute a move but are needed in the vector \r\n* A string to numeric value function is provided in the template\r\n* Verifications will be by executing your move vector against the provided Rubik and counting number of face moves.\r\n\r\nThe function rubik_rot_mini(mov,r) is provided in the template.\r\n\r\n\r\nThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\r\n\r\n\r\n* \r\n* \u003chttp://kociemba.org/cube.htm Cube Theory: 20-moves Any Cube\u003e \r\n* \u003chttp://peter.stillhq.com/jasmine/rubikscubesolution.html General Cube Info and Middle Layer\u003e\r\n* \u003chttp://www.speedcubing.com/final_layer_print.html SpeedCube Bottom Sequences\u003e\r\n(Note: Mini-Cube can use the full cube moves and ignore edge effects)\r\n\r\n\r\nComing Soon: The Mini-Cube  (2x2x2): Full Random - Eleven or Less Moves","description_html":"\u003cp\u003eThe Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\u003c/p\u003e\u003cp\u003eThe Performance metric is average number of moves for solving 500 cubes.\u003c/p\u003e\u003cp\u003eA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/p\u003e\u003cp\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/p\u003e\u003cp\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/minicube2.png\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/miniCube_Map24_200.png\"\u003e\u003cimg src=\"http://mathworks.com/matlabcentral/images/surf.gif\"\u003e\u003cpre class=\"language-matlab\"\u003eInput: (rubik)\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003erubik: row vector of size 24\r\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eOutput: move_vec (Numeric of moves to solve)\r\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\u003c/pre\u003e\u003cul\u003e\u003cli\u003eExample:\u003c/li\u003e\u003cli\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7]  which are the complements in reverse order.\u003c/li\u003e\u003cli\u003eScoring is average face moves for 500 cubes\u003c/li\u003e\u003cli\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/li\u003e\u003cli\u003eA string to numeric value function is provided in the template\u003c/li\u003e\u003cli\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThe function rubik_rot_mini(mov,r) is provided in the template.\u003c/p\u003e\u003cp\u003eThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://kociemba.org/cube.htm\"\u003eCube Theory: 20-moves Any Cube\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\"\u003eGeneral Cube Info and Middle Layer\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"http://www.speedcubing.com/final_layer_print.html\"\u003eSpeedCube Bottom Sequences\u003c/a\u003e\r\n(Note: Mini-Cube can use the full cube moves and ignore edge effects)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eComing Soon: The Mini-Cube  (2x2x2): Full Random - Eleven or Less Moves\u003c/p\u003e","function_template":"function solve_vec = rubik_solve_mini(r)\r\n% Expect Numeric representation of moves (1:27):\r\n% 1:27 are ufdlbr upfpdplpbprp u2f2d2l2b2r2 xyzxpypzpx2y2z2\r\n solve_vec=[]; \r\nend\r\n\r\nfunction r=rubik_rot_mini(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 24 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 24\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:4 U 5:8 F 9:12 D 13:16 B 17:20 R 21:24 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[9 2 11 4 6 8 5 7 21 10 23 12 13 14 15 16 17 3 19 1 20 22 18 24 ; \r\n    1 2 13 15 5 4 7 3 10 12 9 11 22 14 21 16 17 18 19 20 6 8 23 24 ;\r\n    1 19 3 17 5 6 7 8 9 2 11 4 14 16 13 15 24 18 22 20 21 10 23 12 ;\r\n    2 4 1 3 17 18 7 8 5 6 11 12 9 10 15 16 13 14 19 20 21 22 23 24 ;\r\n    7 5 3 4 23 6 24 8 9 10 11 12 13 1 15 2 18 20 17 19 21 22 16 14 ;\r\n    1 2 3 4 5 6 11 12 9 10 15 16 13 14 19 20 17 18 7 8 22 24 21 23 ;\r\n    20 2 18 4 7 5 8 6 1 10 3 12 13 14 15 16 17 23 19 21 9 22 11 24 ;\r\n    1 2 8 6 5 21 7 22 11 9 12 10 3 14 4 16 17 18 19 20 15 13 23 24 ;\r\n    1 10 3 12 5 6 7 8 9 22 11 24 15 13 16 14 4 18 2 20 21 19 23 17 ;\r\n    3 1 4 2 9 10 7 8 13 14 11 12 17 18 15 16 5 6 19 20 21 22 23 24 ;\r\n    14 16 3 4 2 6 1 8 9 10 11 12 13 24 15 23 19 17 20 18 21 22 5 7 ;\r\n    1 2 3 4 5 6 19 20 9 10 7 8 13 14 11 12 17 18 15 16 23 21 24 22 ;\r\n    21 2 23 4 8 7 6 5 20 10 18 12 13 14 15 16 17 11 19 9 1 22 3 24 ;\r\n    1 2 22 21 5 15 7 13 12 11 10 9 8 14 6 16 17 18 19 20 4 3 23 24 ;\r\n    1 22 3 24 5 6 7 8 9 19 11 17 16 15 14 13 12 18 10 20 21 2 23 4 ;\r\n    4 3 2 1 13 14 7 8 17 18 11 12 5 6 15 16 9 10 19 20 21 22 23 24 ;\r\n    24 23 3 4 16 6 14 8 9 10 11 12 13 7 15 5 20 19 18 17 21 22 2 1 ;\r\n    1 2 3 4 5 6 15 16 9 10 19 20 13 14 7 8 17 18 11 12 24 23 22 21 ;\r\n    3 1 4 2 9 10 11 12 13 14 15 16 17 18 19 20 5 6 7 8 22 24 21 23 ;\r\n    9 10 11 12 6 8 5 7 21 22 23 24 15 13 16 14 4 3 2 1 20 19 18 17 ;\r\n    14 16 13 15 2 4 1 3 10 12 9 11 22 24 21 23 19 17 20 18 6 8 5 7 ;\r\n    2 4 1 3 17 18 19 20 5 6 7 8 9 10 11 12 13 14 15 16 23 21 24 22 ;\r\n    20 19 18 17 7 5 8 6 1 2 3 4 14 16 13 15 24 23 22 21 9 10 11 12 ;\r\n    7 5 8 6 23 21 24 22 11 9 12 10 3 1 4 2 18 20 17 19 15 13 16 14 ;\r\n    4 3 2 1 13 14 15 16 17 18 19 20 5 6 7 8 9 10 11 12 24 23 22 21 ;\r\n    21 22 23 24 8 7 6 5 20 19 18 17 16 15 14 13 12 11 10 9 1 2 3 4 ; \r\n    24 23 22 21 16 15 14 13 12 11 10 9 8 7 6 5 20 19 18 17 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\nend\r\n\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n\r\n%{\r\n% 3D Viewer and Development Environment\r\n\r\n\r\nfunction RubikMini_3D_2724_Solver_viewer\r\n%Rubiks Mini-Cube Play\r\n%Creator: Richard Zapor\r\n% 09/01/12\r\nclear all\r\nglobal pmap plate zCmap r  % For 3D  viewer\r\n\r\n% initialize cube\r\n r(1:4)=0;     %Left   0 R\r\n r(5:8)=1;     %Up     1 W\r\n r(9:12)=2;    %Front  2 B\r\n r(13:16)=3;   %Down   3 Y\r\n r(17:20)=4;   %Back   4 G\r\n r(21:24)=5;   %Right  5 O\r\n rnorm=r;\r\n \r\n % Map 3D platelettes and surfaces\r\n [pmap plate]=cube_faces; % One time association of array to 3D surfaces\r\n  % zCmap=[0,0,0;1,1,1;0,0,1;1,1,0;1,0,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Wht,3-Blu,4-Yellow,5-Red,6-Green,7-Orange\r\n  \r\n  zCmap=[0,0,0;1,0,0;1,1,1;0,0,1;1,1,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Red,3-Wht,4-Blu,5-Yellow,6-Green,7-Orange\r\n\r\n% Initialize 3D figure\r\nfigure(2);set(gca,'CameraPosition',[6 -2 7]); % Initial 3D setup\r\n   axis ([-1 4 -1 4 -1 4]);\r\n   axis equal % This is slow but needed for free rotate 1.2 sec\r\n   axis off\r\nview3D % Calls subroutine that produces a 3D image in figure 2\r\n\r\n% r=rubik_rot2(r,mov)\r\n% mov is 1:27;  1-6 UFDLB 7-12 U'F;D'L'B' 13-18 U2F2D2L2B2 \r\n%             22-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n\r\nfprintf('Move Entry (UFDLBRXYZ) eg U U2 U'' (or Up) or G=GoReset P=Play Q-Quit  :\\n');\r\nwhile 1 % Infinite loop\r\n str1=input('Enter Move(s):','s');\r\n if isempty(str1),continue;end\r\n movestr1=regexp(upper(strtrim(str1)),'\\s*','split');\r\n if movestr1{1}=='P',break;end\r\n if movestr1{1}=='Q',return;end\r\n if movestr1{1}=='G'\r\n  r=rnorm;\r\n  view3D\r\n  continue;\r\n end\r\n \r\n move_vec=decode27_movestr_rev001(str1);\r\n \r\n for i=1:length(move_vec) \r\n  r=rubik_rot_mini(move_vec(i),r);\r\n end\r\n% view3D\r\n\r\n \r\nend % while move manipulation practice loop\r\n\r\n% Setup Cube and Play\r\n\r\nfprintf('\\n\\nSolve Multiple Cubes\\n')\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\ntic\r\nwhile 1 % Games loop\r\n    mix=40; % Very random cube\r\n    zcnt=zcnt+1;\r\n    if zcnt\u003e100,break;end\r\n% mix=input('\\n\\nHow many random face rotations? (0=Exit) : ');\r\n% if isempty(mix),continue;end\r\n\r\n r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]); % do one create movr=randi(18,zcnt,mix) mov=movr(zcnt,:)\r\n for i=1:length(mov) \r\n  if i\u003e1 % Eliminate move undos\r\n  % f2 f2 or f f'  or f' f\r\n   if (mov(i)\u003e12 \u0026\u0026 mov(i-1)==mov(i))||(mov(i-1)\u003c7 \u0026\u0026 mov(i)==mov(i-1)+6)||...\r\n       (mov(i-1)\u003e6  \u0026\u0026 mov(i)==mov(i-1)-6)    \r\n    mov(i)=mov(i)+1;   % 1:17 map to 2:18  18 map to 1\r\n    if mov(i)==19,mov(i)=1;end\r\n   end\r\n  end\r\n  r=rubik_rot_mini(mov(i),r);\r\n end\r\n \r\n r_reset=r;\r\n \r\n solve_vec=[];\r\n \r\n % Check cube for Good face and Edges\r\n % Place on Up; Solve Cross/Corners with u u' or u2\r\n % Assures single move i solved in 1 move, may solve at bottom solid face\r\n % check\r\n \r\n% Insert Solution Code Here\r\n \r\n % Orient Cube R-L W-U B-F  RWB\r\n % Sequence thru BWO OWG GWR  to Solve Top Corners\r\n % Flip Cube to Solve Bottom Layer\r\n % Apply SpeedCube Corner Rotate Algorithms if Bot not Solid or Solved\r\n % If not solved Apply SpeedCube Corner Rotate/Move Algorithms\r\n \r\n % Orient Cube using XYZ to be RWB 3-6-9 RL-WU-BF\r\n  movestr=solve_orient_str(r);\r\n  move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n  move_vec=[move_vec 20]; % add a Y to get to next face\r\n  solve_vec=[solve_vec move_vec];\r\n  \r\n  for i=1:length(move_vec) \r\n   r=rubik_rot_mini(move_vec(i),r);\r\n  end\r\n % end Orient Start Cube\r\n \r\n  % Solve Top Corners\r\n  for corners=2:4 % Solve Top corners TLFC, First Corner Solved\r\n   movestr='';\r\n%   movestr=solve_corners_str(r); % Not provided\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 20]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot_mini(move_vec(i),r);\r\n   end\r\n  end % corners\r\n  \r\n  % Solve Bottom by flipping to Top and running SpeedCube Sequences\r\n  \r\n  % Position Bottom to Top\r\n  r=rubik_rot_mini(25,r); % x2\r\n  solve_vec=[solve_vec 25];\r\n  \r\n  solved=0;\r\n  % Function Check u-rotate/solve\r\n  % Is Bottom layer solveable? Needs only a u u' or u2\r\n  if all(r(5:8)==r(5)) \u0026\u0026 r(1)==r(3)  \u0026\u0026 r(9)==r(11) \u0026\u0026 ...\r\n     r(21)==r(23)  \u0026\u0026 r(20)==r(18)\r\n   %Appears to have a U rotate solution\r\n   f_edge_loc=find(r([9 21 20 1])==r(10),1,'first');\r\n   %if isempty(f_edge_loc),continue;end % Bottom not solved\r\n   %if f_edge_loc==1, do nothing;end it is in right location\r\n   if f_edge_loc==2\r\n    r=rubik_rot_mini(1,r);\r\n    solve_vec=[solve_vec 1];\r\n   end\r\n   if f_edge_loc==3\r\n    r=rubik_rot_mini(13,r);\r\n    solve_vec=[solve_vec 13];\r\n   end\r\n   if f_edge_loc==4\r\n    r=rubik_rot_mini(7,r);\r\n    solve_vec=[solve_vec 7];\r\n   end\r\n   solved=1;\r\n%fprintf('U Rotate Solve Success\\n')\r\n  end % Bottom layer rotate to solve\r\n  \r\n  if ~all(r(5:8)==r(5)) % Multiple top face invalid - Try Quick full solve\r\n    movestr='';\r\n%    [movestr solved]=full_solve_bottom_str(r); % Not provided\r\n    if solved\r\n% fprintf('H Quick Full Solve Success\\n')\r\n%      view3D\r\n     move_vec=decode27_movestr_rev001(movestr);\r\n     solve_vec=[solve_vec move_vec];\r\n     for i=1:length(move_vec) \r\n      r=rubik_rot_mini(move_vec(i),r);\r\n     end\r\n%      view3D\r\n    end % Solved\r\n  end\r\n   \r\n \r\n  if ~solved % Execute Full Speed Cube Two Tier Methods\r\n    movestr='';\r\n %    movestr=solve_bottom_str(r); % Not provided\r\n    move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n    solve_vec=[solve_vec move_vec];\r\n   \r\n    for i=1:length(move_vec) \r\n     r=rubik_rot_mini(move_vec(i),r);\r\n    end\r\n  end\r\n  \r\n% Normal Cube Return Point\r\n  \r\n % Verify Solution and Generate Statistics\r\n  if all(r(1:4)==r(4)) \u0026\u0026 all(r(5:8)==r(8))  \u0026\u0026 all(r(9:12)==r(9)) \u0026\u0026 ...\r\n     all(r(13:16)==r(13))  \u0026\u0026 all(r(17:20)==r(17)) \u0026\u0026 all(r(21:24)==r(21))\r\n   solve_vec(solve_vec\u003e18)=[]; % \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n   fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n   fprintf('%i ',r); % Current ending data\r\n   fprintf('\\n')\r\n   fprintf('%i ',r_reset); % Starting Cube\r\n   view3D \r\n   pause(1) % Big Long pause\r\n  end\r\n  \r\nend % Games Loop\r\ntoc\r\n\r\n%view3D % appearance of final cube\r\n\r\nfprintf('\\n\\nThank You for Playing\\n\\nPlease come again.\\n')\r\n\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction  movestr=solve_orient_str(r)\r\n% % initialize cube\r\n%  r(1:4)=0;     %Left   0 R\r\n%  r(5:8)=1;     %Up     1 W\r\n%  r(9:12)=2;    %Front  2 B\r\n%  r(13:16)=3;   %Down   3 Y\r\n%  r(17:20)=4;   %Back   4 G\r\n%  r(21:24)=5;   %Right  5 O\r\npersistent m\r\nif isempty(m) % all moves leave possibly valid corners and cross alone\r\n    % w  r  b\r\n m={[ 6  3  9  ''];\r\n    [ 8 11 21  'y'];  \r\n    [ 7 23 20  'y2']; \r\n    [ 5 18  1  'yp'];\r\n    [10  4 13  'x'];\r\n    [14  2 17  'x2'];\r\n    [18  1  5  'xp'];\r\n    [ 4 13 10  'z'];\r\n    [15 22 12  'z2'];\r\n    [21  8 11  'zp'];\r\n    [12 15 22  'zx']; \r\n    [11 21  8  'z2x'];\r\n    [ 9  6  3  'zpx'];\r\n    [ 2 17 14  'ypx'];\r\n    [ 1  5 18  'x2z'];\r\n    [ 3  9  6  'xpz'];\r\n    [22 12 15  'yx'];\r\n    [23 20  7  'xpzp'];\r\n    [24 16 19  'x2zp'];\r\n    [20  7 23  'xpy'];\r\n    [17 14  2  'ypz'];\r\n    [19 24 16  'y2x'];\r\n    [13 10  4  'yx2']; \r\n    [16 19 24  'x2y']}; \r\nend\r\n u=1; % value of top\r\n L=0; % value of left face\r\n f=2; % value of front face\r\n for ptr=1:24\r\n  if r(abs(m{ptr}(1)))==u \u0026\u0026 r(abs(m{ptr}(2)))==L \u0026\u0026 r(abs(m{ptr}(3)))==f, break;end\r\n end\r\n \r\nmovestr=m{ptr}(4:end);\r\nend % solve orient\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\nfunction view3D\r\n global pmap plate zCmap r\r\n  hold on;\r\n  for i=1:24\r\n    idx=pmap(i);\r\n    fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx)+2,:),'LineWidth',2)  \r\n  end\r\n  hold off\r\n\r\nend\r\n\r\nfunction [pmap plate]=cube_faces()\r\n%global pmap plate\r\n% Sequence that cube faces are filled   \r\n  pmap=[ 2  4     1  3          ...\r\n        10 12     9 11          ...\r\n        24 22    23 21          ...\r\n        17 19    18 20          ...\r\n         5  7     6  8          ...\r\n        14 16    13 15          ];\r\n plate=zeros(54,12);\r\n % Could optimize creation or load from mat\r\n % Four 3D corners x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4\r\n plate(1,:)=[0 1 1 0 0 0 0 0 0 0 1 1]; \r\n plate(2,:)=[1 2 2 1 0 0 0 0 0 0 1 1]; \r\n plate(3,:)=[0 1 1 0 0 0 0 0 1 1 2 2]; \r\n plate(4,:)=[1 2 2 1 0 0 0 0 1 1 2 2]; \r\n \r\n plate(5,:)=[2 2 2 2 0 1 1 0 0 0 1 1];\r\n plate(6,:)=[2 2 2 2 1 2 2 1 0 0 1 1];\r\n plate(7,:)=[2 2 2 2 0 1 1 0 1 1 2 2];\r\n plate(8,:)=[2 2 2 2 1 2 2 1 1 1 2 2];\r\n \r\n plate(9:12,:)=plate(1:4,:);\r\n plate(9:12,5:8)=repmat(2,4,4);\r\n \r\n plate(13:16,:)=plate(5:8,:);\r\n plate(13:16,1:4)=zeros(4,4); %repmat(0,4,4); \r\n \r\n plate(17,:)=[0 1 1 0 0 0 1 1 2 2 2 2]; \r\n plate(18,:)=[0 1 1 0 1 1 2 2 2 2 2 2]; \r\n plate(19,:)=[1 2 2 1 0 0 1 1 2 2 2 2]; \r\n plate(20,:)=[1 2 2 1 1 1 2 2 2 2 2 2];\r\n\r\n plate(21:24,:)=plate(17:20,:);\r\n plate(21:24,9:12)=zeros(4,4); %repmat(0,4,4);  %\r\n  \r\nend\r\n\r\nfunction r=rubik_rot_mini(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 24 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 24\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:4 U 5:8 F 9:12 D 13:16 B 17:20 R 21:24 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[ 9  2  11  4  6   8   5   7 21  10   23  12 13  14  15  16 17   3   19   1 20  22   18  24 ; \r\n     1  2  13 15  5   4   7   3 10  12    9  11 22  14  21  16 17  18   19  20  6   8   23  24 ;\r\n     1 19   3 17  5   6   7   8  9   2   11   4 14  16  13  15 24  18   22  20 21  10   23  12 ;\r\n     2  4   1  3 17  18   7   8  5   6   11  12  9  10  15  16 13  14   19  20 21  22   23  24 ;\r\n     7  5   3  4 23   6  24   8  9  10   11  12 13   1  15   2 18  20   17  19 21  22   16  14 ;\r\n     1  2   3  4  5   6  11  12  9  10   15  16 13  14  19  20 17  18    7   8 22  24   21  23 ;\r\n    20  2  18  4  7   5   8   6  1  10    3  12 13  14  15  16 17  23   19  21  9  22   11  24 ;\r\n     1  2   8  6  5  21   7  22 11   9   12  10  3  14   4  16 17  18   19  20 15  13   23  24 ;\r\n     1 10   3 12  5   6   7   8  9  22   11  24 15  13  16  14  4  18    2  20 21  19   23  17 ;\r\n     3  1   4  2  9  10   7   8 13  14   11  12 17  18  15  16  5   6   19  20 21  22   23  24 ;\r\n    14 16   3  4  2   6   1   8  9  10   11  12 13  24  15  23 19  17   20  18 21  22    5   7 ;\r\n     1  2   3  4  5   6  19  20  9  10    7   8 13  14  11  12 17  18   15  16 23  21   24  22 ;\r\n    21  2  23  4  8   7   6   5 20  10   18  12 13  14  15  16 17  11   19   9  1  22    3  24 ;\r\n     1  2  22 21  5  15   7  13 12  11   10   9  8  14   6  16 17  18   19  20  4   3   23  24 ;\r\n     1 22   3 24  5   6   7   8  9  19   11  17 16  15  14  13 12  18   10  20 21   2   23   4 ;\r\n     4  3   2  1 13  14   7   8 17  18   11  12  5   6  15  16  9  10   19  20 21  22   23  24 ;\r\n    24 23   3  4 16   6  14   8  9  10   11  12 13   7  15   5 20  19   18  17 21  22    2   1 ;\r\n     1  2   3  4  5   6  15  16  9  10   19  20 13  14   7   8 17  18   11  12 24  23   22  21 ;\r\n     3  1   4  2  9  10  11  12 13  14   15  16 17  18  19  20  5   6    7   8 22  24   21  23 ;\r\n     9 10  11 12  6   8   5   7 21  22   23  24 15  13  16  14  4   3    2   1 20  19   18  17 ;\r\n    14 16  13 15  2   4   1   3 10  12    9  11 22  24  21  23 19  17   20  18  6   8    5   7 ;\r\n     2  4   1  3 17  18  19  20  5   6    7   8  9  10  11  12 13  14   15  16 23  21   24  22 ;\r\n    20 19  18 17  7   5   8   6  1   2    3   4 14  16  13  15 24  23   22  21  9  10   11  12 ;\r\n     7  5   8  6 23  21  24  22 11   9   12  10  3   1   4   2 18  20   17  19 15  13   16  14 ;\r\n     4  3   2  1 13  14  15  16 17  18   19  20  5   6   7   8  9  10   11  12 24  23   22  21 ;\r\n    21 22  23 24  8   7   6   5 20  19   18  17 16  15  14  13 12  11   10   9  1   2    3   4 ; \r\n    24 23  22 21 16  15  14  13 12  11   10   9  8   7   6   5 20  19   18  17  4   3    2   1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\nend\r\n\r\n\r\n\r\n%}\r\n\r\n\r\n","test_suite":"%%\r\nfeval(@assignin,'caller','score',0);\r\n%%\r\nvf=[9 2 11 4 6 8 5 7 21 10 23 12 13 14 15 16 17 3 19 1 20 22 18 24 ; \r\n    1 2 13 15 5 4 7 3 10 12 9 11 22 14 21 16 17 18 19 20 6 8 23 24 ;\r\n    1 19 3 17 5 6 7 8 9 2 11 4 14 16 13 15 24 18 22 20 21 10 23 12 ;\r\n    2 4 1 3 17 18 7 8 5 6 11 12 9 10 15 16 13 14 19 20 21 22 23 24 ;\r\n    7 5 3 4 23 6 24 8 9 10 11 12 13 1 15 2 18 20 17 19 21 22 16 14 ;\r\n    1 2 3 4 5 6 11 12 9 10 15 16 13 14 19 20 17 18 7 8 22 24 21 23 ;\r\n    20 2 18 4 7 5 8 6 1 10 3 12 13 14 15 16 17 23 19 21 9 22 11 24 ;\r\n    1 2 8 6 5 21 7 22 11 9 12 10 3 14 4 16 17 18 19 20 15 13 23 24 ;\r\n    1 10 3 12 5 6 7 8 9 22 11 24 15 13 16 14 4 18 2 20 21 19 23 17 ;\r\n    3 1 4 2 9 10 7 8 13 14 11 12 17 18 15 16 5 6 19 20 21 22 23 24 ;\r\n    14 16 3 4 2 6 1 8 9 10 11 12 13 24 15 23 19 17 20 18 21 22 5 7 ;\r\n    1 2 3 4 5 6 19 20 9 10 7 8 13 14 11 12 17 18 15 16 23 21 24 22 ;\r\n    21 2 23 4 8 7 6 5 20 10 18 12 13 14 15 16 17 11 19 9 1 22 3 24 ;\r\n    1 2 22 21 5 15 7 13 12 11 10 9 8 14 6 16 17 18 19 20 4 3 23 24 ;\r\n    1 22 3 24 5 6 7 8 9 19 11 17 16 15 14 13 12 18 10 20 21 2 23 4 ;\r\n    4 3 2 1 13 14 7 8 17 18 11 12 5 6 15 16 9 10 19 20 21 22 23 24 ;\r\n    24 23 3 4 16 6 14 8 9 10 11 12 13 7 15 5 20 19 18 17 21 22 2 1 ;\r\n    1 2 3 4 5 6 15 16 9 10 19 20 13 14 7 8 17 18 11 12 24 23 22 21 ;\r\n    3 1 4 2 9 10 11 12 13 14 15 16 17 18 19 20 5 6 7 8 22 24 21 23 ;\r\n    9 10 11 12 6 8 5 7 21 22 23 24 15 13 16 14 4 3 2 1 20 19 18 17 ;\r\n    14 16 13 15 2 4 1 3 10 12 9 11 22 24 21 23 19 17 20 18 6 8 5 7 ;\r\n    2 4 1 3 17 18 19 20 5 6 7 8 9 10 11 12 13 14 15 16 23 21 24 22 ;\r\n    20 19 18 17 7 5 8 6 1 2 3 4 14 16 13 15 24 23 22 21 9 10 11 12 ;\r\n    7 5 8 6 23 21 24 22 11 9 12 10 3 1 4 2 18 20 17 19 15 13 16 14 ;\r\n    4 3 2 1 13 14 15 16 17 18 19 20 5 6 7 8 9 10 11 12 24 23 22 21 ;\r\n    21 22 23 24 8 7 6 5 20 19 18 17 16 15 14 13 12 11 10 9 1 2 3 4 ; \r\n    24 23 22 21 16 15 14 13 12 11 10 9 8 7 6 5 20 19 18 17 4 3 2 1 ];\r\n\r\n%r=r(vf(mov,:));  % Standard move, r=rubik_rot_min(mov,r);\r\n\r\nPass=1;\r\nr_fail=0;\r\n% Execute 500 cubes and verify completeness and count moves\r\n % initialize cube\r\n r(1:4)=0;     %Left   0 R\r\n r(5:8)=1;     %Up     1 W\r\n r(9:12)=2;    %Front  2 B\r\n r(13:16)=3;   %Down   3 Y\r\n r(17:20)=4;   %Back   4 G\r\n r(21:24)=5;   %Right  5 O\r\n rnorm=r;\r\n\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\nasolve=199;\r\nmix=40;\r\n\r\ntic\r\n\r\nwhile zcnt\u003c500\r\n zcnt=zcnt+1;\r\n  r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov)  % Ignoring Move Undos since mix=40\r\n  %r=rubik_rot(mov(i),r);\r\n   r=r(vf(mov(i),:));\r\n end\r\n\r\n r_reset=r; % Used in assert\r\n\r\n solve_vec=rubik_solve_mini(r);\r\n\r\n for i=1:length(solve_vec) \r\n  %r=rubik_rot(solve_vec(i),r);\r\n  r=r(vf(solve_vec(i),:));\r\n end\r\n\r\n  if all(r(1:4)==r(4)) \u0026\u0026 all(r(5:8)==r(8))  \u0026\u0026 all(r(9:12)==r(9)) \u0026\u0026 ...\r\n     all(r(13:16)==r(13))  \u0026\u0026 all(r(17:20)==r(17)) \u0026\u0026 all(r(21:24)==r(21))\r\n   solve_vec(solve_vec\u003e18)=[]; %   \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n %  fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   Pass=0;\r\n   r_fail=r_reset;\r\n  % fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n  % fprintf('%i ',r); % Current ending data\r\n  % fprintf('\\n')\r\n  % fprintf('%i ',r_reset); % Starting Cube\r\n  end\r\n\r\nend % while of cubes\r\ntoc\r\n\r\nassert(isequal(Pass,1),sprintf('%i ',r_fail)); % Output Non-Solved Cube Start\r\nif Pass\r\n feval(@assignin,'caller','score',min(100,floor(asolve)));\r\nend\r\n\r\nfprintf('Moves: Avg %i   Min %i   Max %i\\n',asolve,min_solve,max_solve)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-09-04T03:44:49.000Z","updated_at":"2025-04-22T03:20:12.000Z","published_at":"2012-09-04T05:01:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.png\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId3\",\"target\":\"/media/image1.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Challenge is to Solve a thoroughly scrambled Mini-Rubik's Cube(2x2x2).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Performance metric is average number of moves for solving 500 cubes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA standard Mini-Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The provided function r_new=rubick_rot_mini(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Input: (rubik)\\n\\nrubik: row vector of size 24\\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\\n\\nOutput: move_vec (Numeric of moves to solve)\\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] which are the complements in reverse order.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eScoring is average face moves for 500 cubes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA string to numeric value function is provided in the template\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function rubik_rot_mini(mov,r) is provided in the template.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template Contains a 3D Cube Viewer and the first step in solving is at the bottom in a comment block.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://kociemba.org/cube.htm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCube Theory: 20-moves Any Cube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGeneral Cube Info and Middle Layer\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.speedcubing.com/final_layer_print.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpeedCube Bottom Sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e(Note: Mini-Cube can use the full cube moves and ignore edge effects)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eComing Soon: The Mini-Cube (2x2x2): Full Random - Eleven or Less Moves\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"},{\"partUri\":\"/media/image2.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\"}]}"},{"id":886,"title":"Rubik's Cube: Solve Randomized Cube  - Score : Moves","description":"The Challenge is to Solve a thoroughly scrambled Rubik's Cube.\r\n\r\nThe Performance metric is average number of moves for solving 200 cubes.\r\n\r\nA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\r\n\r\nThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\r\n\r\nMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice.  The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\r\n\r\n\r\n\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/cube_small.gif\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Cube_Map28_200.png\u003e\u003e\r\n\r\n\u003c\u003chttp://mathworks.com/matlabcentral/images/surf.gif\u003e\u003e\r\n\r\n\r\n  \r\n  \r\n  Input: (rubik)\r\n  \r\n  rubik: row vector of size 54\r\n  (The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\r\n\r\n  Output: move_vec (Numeric of moves to solve)\r\n   move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2\r\n\r\n* Example:\r\n* If the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order. \r\n* Scoring is average face moves for 200 cubes\r\n* Cube Moves X, Y, and Z do not constitute a move but are needed in the vector \r\n* A string to numeric value function is provided in the template\r\n* Verifications will be by executing your move vector against the provided Rubik and counting number of face moves.\r\n\r\nThe function rubik_rot(mov,r) is available for intermediate processing\r\n\r\n\r\nThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\r\n\r\n\r\n* \r\n* \u003chttp://kociemba.org/cube.htm Cube Theory: 20-moves Any Cube\u003e \r\n* \u003chttp://peter.stillhq.com/jasmine/rubikscubesolution.html General Cube Info and Middle Layer\u003e\r\n* \u003chttp://www.speedcubing.com/final_layer_print.html SpeedCube Bottom Sequences\u003e\r\n\r\n\r\nComing Soon: The Mini-Cube  (2x2x2)  Not as easy as it looks","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 1195.12px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 597.567px; transform-origin: 407px 597.567px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.733px 7.91667px; transform-origin: 199.733px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Challenge is to Solve a thoroughly scrambled Rubik's Cube.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 235.333px 7.91667px; transform-origin: 235.333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Performance metric is average number of moves for solving 200 cubes.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 340.283px 7.91667px; transform-origin: 340.283px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 316.733px 7.91667px; transform-origin: 316.733px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 374.7px 7.91667px; transform-origin: 374.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 134.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 67.4667px; text-align: center; transform-origin: 384px 67.4667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 246.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 123.467px; text-align: center; transform-origin: 384px 123.467px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 113.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 56.9667px; text-align: center; transform-origin: 384px 56.9667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 143.033px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 71.5167px; transform-origin: 404px 71.5167px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eInput: (rubik)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 7.91667px; transform-origin: 0px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 107.8px 7.91667px; transform-origin: 107.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 69.3px 7.91667px; transform-origin: 69.3px 7.91667px; \"\u003erubik: row vector \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 38.5px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 38.5px 7.91667px; \"\u003eof size 54\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 304.15px 7.91667px; transform-origin: 304.15px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 7.91667px; transform-origin: 0px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 169.4px 7.91667px; transform-origin: 169.4px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eOutput: move_vec (Numeric of moves to solve)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 284.9px 7.91667px; transform-origin: 284.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 84.7px 7.91667px; transform-origin: 84.7px 7.91667px; \"\u003e move_vec:values 1:27 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 15.4px 7.91667px; text-decoration: none; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 15.4px 7.91667px; \"\u003efor \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 127.05px 7.91667px; transform-origin: 127.05px 7.91667px; \"\u003eUFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(196, 0, 0); border-block-start-color: rgb(196, 0, 0); border-bottom-color: rgb(196, 0, 0); border-inline-end-color: rgb(196, 0, 0); border-inline-start-color: rgb(196, 0, 0); border-left-color: rgb(196, 0, 0); border-right-color: rgb(196, 0, 0); border-top-color: rgb(196, 0, 0); caret-color: rgb(196, 0, 0); color: rgb(196, 0, 0); column-rule-color: rgb(196, 0, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(196, 0, 0); perspective-origin: 57.75px 7.91667px; text-decoration: none; text-decoration-color: rgb(196, 0, 0); text-emphasis-color: rgb(196, 0, 0); transform-origin: 57.75px 7.91667px; \"\u003eXYZX'Y'Z'X2Y2Z2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cul style=\"block-size: 122.6px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 61.3px; transform-origin: 391px 61.3px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 29.1833px 7.91667px; transform-origin: 29.1833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 341.067px 7.91667px; transform-origin: 341.067px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 140.033px 7.91667px; transform-origin: 140.033px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eScoring is average face moves for 200 cubes\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 242.583px 7.91667px; transform-origin: 242.583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 187.1px 7.91667px; transform-origin: 187.1px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA string to numeric value function is provided in the template\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 355.933px 7.91667px; transform-origin: 355.933px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 212.267px 7.91667px; transform-origin: 212.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe function rubik_rot(mov,r) is available for intermediate processing\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 382px 7.91667px; transform-origin: 382px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 81.7333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 40.8667px; transform-origin: 391px 40.8667px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://kociemba.org/cube.htm\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eCube Theory: 20-moves Any Cube\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://peter.stillhq.com/jasmine/rubikscubesolution.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGeneral Cube Info and Middle Layer\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003ca target='_blank' href = \"http://www.speedcubing.com/final_layer_print.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpeedCube Bottom Sequences\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 189.433px 7.91667px; transform-origin: 189.433px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eComing Soon: The Mini-Cube (2x2x2) Not as easy as it looks\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function solve_vec = rubik_solve(r)\r\n% Expect Numeric representation of moves (1:27):\r\n% 1:27 are ufdlbr upfpdplpbprp u2f2d2l2b2r2 xyzxpypzpx2y2z2\r\n solve_vec=[]; \r\nend\r\n\r\n% Convert Standard cube notation into numeric solv_vec values\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n% This function is already loaded and hashed. This is primarily for info\r\nfunction r=rubik_rot(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 54 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 54\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:9 U 10:18 F 19:27 D 28:36 B 37:45 R 46:54 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[19 2 3 22 5 6 25 8 9 12 15 18 11 14 17 10 13 16 46 20 21 49 23 24 52 26 27 28 29 30 31 32 33 34 35 36 37 38 7 40 41 4 43 44 1 45 47 48 42 50 51 39 53 54; \r\n  1 2 3 4 5 6 28 31 34 10 11 9 13 14 8 16 17 7 21 24 27 20 23 26 19 22 25 48 29 30 47 32 33 46 35 36 37 38 39 40 41 42 43 44 45 12 15 18 49 50 51 52 53 54 ;\r\n  1 2 43 4 5 40 7 8 37 10 11 12 13 14 15 16 17 18 19 20 3 22 23 6 25 26 9 30 33 36 29 32 35 28 31 34 54 38 39 51 41 42 48 44 45 46 47 21 49 50 24 52 53 27 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 13 14 15 16 17 18 10 11 12 22 23 24 25 26 27 19 20 21 31 32 33 34 35 36 28 29 30 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  16 13 10 4 5 6 7 8 9 52 11 12 53 14 15 54 17 18 19 20 21 22 23 24 25 26 27 28 29 1 31 32 2 34 35 3 39 42 45 38 41 44 37 40 43 46 47 48 49 50 51 36 33 30 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 26 27 19 20 21 22 23 24 34 35 36 28 29 30 31 32 33 43 44 45 37 38 39 40 41 42 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  45 2 3 42 5 6 39 8 9 16 13 10 17 14 11 18 15 12 1 20 21 4 23 24 7 26 27 28 29 30 31 32 33 34 35 36 37 38 52 40 41 49 43 44 46 19 47 48 22 50 51 25 53 54 ;\r\n  1 2 3 4 5 6 18 15 12 10 11 46 13 14 47 16 17 48 25 22 19 26 23 20 27 24 21 7 29 30 8 32 33 9 35 36 37 38 39 40 41 42 43 44 45 34 31 28 49 50 51 52 53 54 ;\r\n  1 2 21 4 5 24 7 8 27 10 11 12 13 14 15 16 17 18 19 20 48 22 23 51 25 26 54 34 31 28 35 32 29 36 33 30 9 38 39 6 41 42 3 44 45 46 47 43 49 50 40 52 53 37 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 13 14 15 16 17 18 28 29 30 22 23 24 25 26 27 37 38 39 31 32 33 34 35 36 10 11 12 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  30 33 36 4 5 6 7 8 9 3 11 12 2 14 15 1 17 18 19 20 21 22 23 24 25 26 27 28 29 54 31 32 53 34 35 52 43 40 37 44 41 38 45 42 39 46 47 48 49 50 51 10 13 16 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 43 44 45 19 20 21 22 23 24 16 17 18 28 29 30 31 32 33 25 26 27 37 38 39 40 41 42 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  46 2 3 49 5 6 52 8 9 18 17 16 15 14 13 12 11 10 45 20 21 42 23 24 39 26 27 28 29 30 31 32 33 34 35 36 37 38 25 40 41 22 43 44 19 1 47 48 4 50 51 7 53 54 ;\r\n  1 2 3 4 5 6 48 47 46 10 11 34 13 14 31 16 17 28 27 26 25 24 23 22 21 20 19 18 29 30 15 32 33 12 35 36 37 38 39 40 41 42 43 44 45 9 8 7 49 50 51 52 53 54 ;\r\n  1 2 48 4 5 51 7 8 54 10 11 12 13 14 15 16 17 18 19 20 43 22 23 40 25 26 37 36 35 34 33 32 31 30 29 28 27 38 39 24 41 42 21 44 45 46 47 3 49 50 6 52 53 9 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 13 14 15 16 17 18 37 38 39 22 23 24 25 26 27 10 11 12 31 32 33 34 35 36 19 20 21 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  54 53 52 4 5 6 7 8 9 36 11 12 33 14 15 30 17 18 19 20 21 22 23 24 25 26 27 28 29 16 31 32 13 34 35 10 45 44 43 42 41 40 39 38 37 46 47 48 49 50 51 3 2 1 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 34 35 36 19 20 21 22 23 24 43 44 45 28 29 30 31 32 33 16 17 18 37 38 39 40 41 42 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  19 20 21 22 23 24 25 26 27 12 15 18 11 14 17 10 13 16 46 47 48 49 50 51 52 53 54 34 31 28 35 32 29 36 33 30 9 8 7 6 5 4 3 2 1 45 44 43 42 41 40 39 38 37 ;\r\n  30 33 36 29 32 35 28 31 34 3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 48 51 54 47 50 53 46 49 52 43 40 37 44 41 38 45 42 39 12 15 18 11 14 17 10 13 16 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  45 44 43 42 41 40 39 38 37 16 13 10 17 14 11 18 15 12 1 2 3 4 5 6 7 8 9 30 33 36 29 32 35 28 31 34 54 53 52 51 50 49 48 47 46 19 20 21 22 23 24 25 26 27 ;\r\n  16 13 10 17 14 11 18 15 12 52 49 46 53 50 47 54 51 48 25 22 19 26 23 20 27 24 21 7 4 1 8 5 2 9 6 3 39 42 45 38 41 44 37 40 43 34 31 28 35 32 29 36 33 30 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  46 47 48 49 50 51 52 53 54 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 1 2 3 4 5 6 7 8 9 ; \r\n  54 53 52 51 50 49 48 47 46 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 9 8 7 6 5 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\n\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\n% Cube Viewer and Cube Solver Development Environment\r\n%{\r\nfunction Rubik_3D_2754_Solver_viewer\r\n%Rubiks Cube Play\r\n%Creator: Richard Zapor\r\n% 09/01/12\r\nclear all\r\nglobal pmap plate zCmap r  % For 3D  viewer\r\n\r\n% initialize cube\r\n r(1:9)=0;     %Left   0 R\r\n r(10:18)=1;   %Up     1 W\r\n r(19:27)=2;   %Front  2 B\r\n r(28:36)=3;   %Down   3 Y\r\n r(37:45)=4;   %Back   4 G\r\n r(46:54)=5;   %Right  5 O\r\n rnorm=r;\r\n \r\n % Map 3D platelettes and surfaces\r\n [pmap plate]=cube_faces; % One time association of array to 3D surfaces\r\n  % zCmap=[0,0,0;1,1,1;0,0,1;1,1,0;1,0,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Wht,3-Blu,4-Yellow,5-Red,6-Green,7-Orange\r\n  \r\n  zCmap=[0,0,0;1,0,0;1,1,1;0,0,1;1,1,0;0,1,0;1,.6,0]; \r\n  % 1-Blk,2-Red,3-Wht,4-Blu,5-Yellow,6-Green,7-Orange\r\n\r\n% Initialize 3D figure\r\nfigure(2);set(gca,'CameraPosition',[6 -2 7]); % Initial 3D setup\r\n   axis ([-1 4 -1 4 -1 4]);\r\n   axis equal % This is slow but needed for free rotate 1.2 sec\r\n   axis off\r\nview3D % Calls subroutine that produces a 3D image in figure 2\r\n\r\n% r=rubik_rot2(r,mov)\r\n% mov is 1:27;  1-6 UFDLB 7-12 U'F;D'L'B' 13-18 U2F2D2L2B2 \r\n%             22-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n\r\nfprintf('Move Entry (UFDLBRXYZ) eg U U2 U'' (or Up) or G=GoReset P=Play Q-Quit  :\\n');\r\nwhile 1 % Infinite loop\r\n str1=input('Enter Move(s):','s');\r\n if isempty(str1),continue;end\r\n movestr1=regexp(upper(strtrim(str1)),'\\s*','split');\r\n if movestr1{1}=='P',break;end\r\n if movestr1{1}=='Q',return;end\r\n if movestr1{1}=='G'\r\n  r=rnorm;\r\n  view3D\r\n  continue;\r\n end\r\n \r\n move_vec=decode27_movestr_rev001(str1);\r\n \r\n for i=1:length(move_vec) \r\n  r=rubik_rot(move_vec(i),r);\r\n end\r\n view3D\r\n%  pause(0.1)\r\n \r\nend % while move manipulation practice loop\r\n\r\n% Setup Cube and Play\r\n\r\nfprintf('\\n\\nSolve Multiple Cubes\\n')\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\ntic\r\nwhile 1 % Games loop\r\n    mix=40; % Very random cube\r\n    zcnt=zcnt+1;\r\n    if zcnt\u003e10,break;end\r\n% mix=input('\\n\\nHow many random face rotations? (0=Exit) : ');\r\n% if isempty(mix),continue;end\r\n\r\n r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov) \r\n  if i\u003e1 % Eliminate move undos\r\n  % f2 f2 or f f'  or f' f\r\n   if (mov(i)\u003e12 \u0026\u0026 mov(i-1)==mov(i))||(mov(i-1)\u003c7 \u0026\u0026 mov(i)==mov(i-1)+6)||...\r\n       (mov(i-1)\u003e6  \u0026\u0026 mov(i)==mov(i-1)-6)    \r\n    mov(i)=mov(i)+1;   % 1:17 map to 2:18  18 map to 1\r\n    if mov(i)==19,mov(i)=1;end\r\n   end\r\n  end\r\n  r=rubik_rot(mov(i),r);\r\n end\r\n \r\n r_reset=r;\r\n \r\n solve_vec=[];\r\n \r\n % Check cube for Good face and Edges\r\n % Place on Up; Solve Cross/Corners with u u' or u2\r\n % Assures single move i solved in 1 move, may solve at bottom solid face\r\n % check\r\n \r\n% Insert Solution Code Starting Here\r\n \r\n   \r\n  for icross=1:4 % Solve cross\r\n   movestr=solve_cross_str(r);\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % cross\r\n  \r\n  view3D\r\n% No further moves are implemented\r\n  \r\n  % Solve Top Corners\r\n  for corners=1:4 % Solve Top corners TLFC\r\n   movestr='';\r\n   %movestr=solve_corners_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % corners\r\n  \r\n  % Solve Middle Edges\r\n  for edges=1:4 % Solve Edge MLFE\r\n   movestr='';\r\n   %movestr=solve_edges_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   move_vec=[move_vec 23]; % add a Y to get to next face\r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end % MLFE\r\n  \r\n  % Solve Bottom by flipping to Top and running SpeedCube Sequences\r\n  \r\n  % Position Bottom to Top\r\n  r=rubik_rot(25,r);\r\n  solve_vec=[solve_vec 25];\r\n\r\n  \r\n\r\n  \r\n  if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   fprintf('Cube Solved Prior to Bottom Corrections Moves=%i\\n',length(solve_vec))\r\n  else\r\n   %view3D\r\n    movestr='';\r\n  % movestr=solve_bottom_str(r); % Function deleted from template\r\n   move_vec=decode27_movestr_rev001(movestr);\r\n   \r\n   solve_vec=[solve_vec move_vec];\r\n   \r\n   for i=1:length(move_vec) \r\n    r=rubik_rot(move_vec(i),r);\r\n   end\r\n  end\r\n   \r\n % Normal Cube Return Point\r\n  \r\n % Verify Solution and Generate Statistics\r\n  if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   solve_vec(solve_vec\u003e18)=[]; % \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n   fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n   fprintf('%i ',r); % Current ending data\r\n   fprintf('\\n')\r\n   fprintf('%i ',r_reset); % Starting Cube\r\n   view3D \r\n   pause(30) % Big Long pause\r\n  end\r\n  \r\n\r\nend % Games Loop\r\ntoc\r\n\r\nview3D % appearance of final cube\r\n\r\nfprintf('\\n\\nThank You for Playing\\n\\nPlease come again.\\n')\r\n\r\nend\r\n\r\nfunction  movestr=solve_cross_str(r)\r\npersistent m\r\nif isempty(m) % all moves leave possibly valid cross members unscathed\r\n m={[15 22  ''];\r\n    [22 15 'f2drfprp'];  \r\n    [17 49 'r2dpf2']; \r\n    [49 17 'rpfp'];\r\n    [13 42 'b2d2f2'];\r\n    [42 13 'b2dprfprp'];\r\n    [11  4 'l2df2'];\r\n    [ 4 11 'lf'];\r\n    [26 47 'rpdprf2'];\r\n    [47 26 'fp'];\r\n    [53 44 'r2fpr2']; \r\n    [44 53 'rdprpf2'];\r\n    [38  2 'lpdlf2'];\r\n    [ 2 38 'l2fl2'];\r\n    [ 8 20 'f'];\r\n    [20  8 'ldlpf2'];\r\n    [24 31 'drfprp'];\r\n    [31 24 'f2'];\r\n    [51 35 'rfprp'];\r\n    [35 51 'dpf2'];\r\n    [40 33 'dprfprp'];\r\n    [33 40 'd2f2'];\r\n    [ 6 29 'lpfl'];\r\n    [ 29 6 'df2']};\r\nend\r\n u=r(14); % value of top\r\n f=r(23); % value of front face\r\n for ptr=1:24\r\n  if r(abs(m{ptr}(1)))==u \u0026\u0026 r(abs(m{ptr}(2)))==f, break;end\r\n end\r\n \r\n movestr=m{ptr}(3:end);\r\nend % solve cross\r\n\r\n\r\n\r\n\r\nfunction move_vec=decode27_movestr_rev001(movestr)\r\n% Active character Inputs: UFDLBRXYZ, GQ are pre-processed\r\n% 1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 19-27 XYZX'Y'Z'X2Y2Z2\r\nmovestr=upper(movestr);\r\nmovestr=strrep(movestr,'''','P'); % simplify further searches\r\n\r\nmovestr=strrep(movestr,'UP',' 7 ');\r\nmovestr=strrep(movestr,'FP',' 8 ');\r\nmovestr=strrep(movestr,'DP',' 9 ');\r\nmovestr=strrep(movestr,'LP',' 10 ');\r\nmovestr=strrep(movestr,'BP',' 11 ');\r\nmovestr=strrep(movestr,'RP',' 12 ');\r\nmovestr=strrep(movestr,'U2',' 13 ');\r\nmovestr=strrep(movestr,'F2',' 14 ');\r\nmovestr=strrep(movestr,'D2',' 15 ');\r\nmovestr=strrep(movestr,'L2',' 16 ');\r\nmovestr=strrep(movestr,'B2',' 17 ');\r\nmovestr=strrep(movestr,'R2',' 18 ');\r\nmovestr=strrep(movestr,'U',' 1 ');\r\nmovestr=strrep(movestr,'F',' 2 ');\r\nmovestr=strrep(movestr,'D',' 3 ');\r\nmovestr=strrep(movestr,'L',' 4 ');\r\nmovestr=strrep(movestr,'B',' 5 ');\r\nmovestr=strrep(movestr,'R',' 6 ');\r\nmovestr=strrep(movestr,'XP',' 22 ');\r\nmovestr=strrep(movestr,'YP',' 23 ');\r\nmovestr=strrep(movestr,'ZP',' 24 ');\r\nmovestr=strrep(movestr,'X2',' 25 ');\r\nmovestr=strrep(movestr,'Y2',' 26 ');\r\nmovestr=strrep(movestr,'Z2',' 27 ');\r\nmovestr=strrep(movestr,'X',' 19 ');\r\nmovestr=strrep(movestr,'Y',' 20 ');\r\nmovestr=strrep(movestr,'Z',' 21 ');\r\n\r\nmove_vec=str2num(movestr);\r\n\r\nend % move_vec\r\n\r\n\r\n\r\nfunction view3D\r\n global pmap plate zCmap r\r\n  hold on;\r\n  for i=1:54\r\n    idx=pmap(i);\r\n    fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx)+2,:),'LineWidth',2) \r\n   % fill3(plate(i,1:4),plate(i,5:8),plate(i,9:12),zCmap(r(idx),:),'LineWidth',2) \r\n  end\r\n  hold off\r\n\r\nend\r\n\r\n\r\n\r\nfunction [pmap plate]=cube_faces()\r\n%global pmap plate\r\n% Sequence that cube faces are filled\r\n pmap=[3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 ...\r\n       54 51 48 53 50 47 52 49 46 ...\r\n       37 40 43 38 41 44 39 42 45 ...\r\n       10 13 16 11 14 17 12 15 18 ...\r\n       30 33 36 29 32 35 28 31 34 ];\r\n plate=zeros(54,12);\r\n % Could optimize creation or load from mat\r\n % Four 3D corners x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4\r\n plate(1,:)=[0 1 1 0 0 0 0 0 0 0 1 1];\r\n plate(2,:)=[1 2 2 1 0 0 0 0 0 0 1 1];\r\n plate(3,:)=[2 3 3 2 0 0 0 0 0 0 1 1];\r\n plate(4,:)=[0 1 1 0 0 0 0 0 1 1 2 2];\r\n plate(5,:)=[1 2 2 1 0 0 0 0 1 1 2 2];\r\n plate(6,:)=[2 3 3 2 0 0 0 0 1 1 2 2];\r\n plate(7,:)=[0 1 1 0 0 0 0 0 2 2 3 3];\r\n plate(8,:)=[1 2 2 1 0 0 0 0 2 2 3 3];\r\n plate(9,:)=[2 3 3 2 0 0 0 0 2 2 3 3];\r\n \r\n plate(10,:)=[3 3 3 3 0 1 1 0 0 0 1 1];\r\n plate(11,:)=[3 3 3 3 1 2 2 1 0 0 1 1];\r\n plate(12,:)=[3 3 3 3 2 3 3 2 0 0 1 1];\r\n plate(13,:)=[3 3 3 3 0 1 1 0 1 1 2 2];\r\n plate(14,:)=[3 3 3 3 1 2 2 1 1 1 2 2];\r\n plate(15,:)=[3 3 3 3 2 3 3 2 1 1 2 2];\r\n plate(16,:)=[3 3 3 3 0 1 1 0 2 2 3 3];\r\n plate(17,:)=[3 3 3 3 1 2 2 1 2 2 3 3];\r\n plate(18,:)=[3 3 3 3 2 3 3 2 2 2 3 3];\r\n \r\n plate(19:27,:)=plate(1:9,:);\r\n plate(19:27,5:8)=repmat(3,9,4);\r\n \r\n plate(28:36,:)=plate(10:18,:);\r\n plate(28:36,1:4)=zeros(9,4); %repmat(0,9,4);\r\n \r\n plate(37,:)=[0 1 1 0 0 0 1 1 3 3 3 3];\r\n plate(38,:)=[0 1 1 0 1 1 2 2 3 3 3 3];\r\n plate(39,:)=[0 1 1 0 2 2 3 3 3 3 3 3];\r\n plate(40,:)=[1 2 2 1 0 0 1 1 3 3 3 3];\r\n plate(41,:)=[1 2 2 1 1 1 2 2 3 3 3 3];\r\n plate(42,:)=[1 2 2 1 2 2 3 3 3 3 3 3];\r\n plate(43,:)=[2 3 3 2 0 0 1 1 3 3 3 3];\r\n plate(44,:)=[2 3 3 2 1 1 2 2 3 3 3 3];\r\n plate(45,:)=[2 3 3 2 2 2 3 3 3 3 3 3];\r\n \r\n plate(46:54,:)=plate(37:45,:);\r\n plate(46:54,9:12)=zeros(9,4); %repmat(0,9,4);\r\n  \r\nend\r\n\r\n\r\n\r\nfunction r=rubik_rot(mov,r)\r\n%mov is 1:27;  1-6 UFDLBR 7-12 U'F;D'L'B'R' 13-18 U2F2D2L2B2R2 \r\n%             19-27 XYZ X'Y'Z' X2Y2Z2  \r\n% X cube-R, Y cube-U,  Z cube-F\r\n%\r\n% r is a 54 element row vector\r\n% r output is a single row vector \r\n%\r\n% vector mov\r\n% r output is array of length(mov) x 54\r\n%\r\n% Perform Rubik Cube face rotations and cube rotations\r\n% L 1:9 U 10:18 F 19:27 D 28:36 B 37:45 R 46:54 \r\n% \r\npersistent vf\r\nif isempty(vf) %\r\nvf=[19 2 3 22 5 6 25 8 9 12 15 18 11 14 17 10 13 16 46 20 21 49 23 24 52 26 27 28 29 30 31 32 33 34 35 36 37 38 7 40 41 4 43 44 1 45 47 48 42 50 51 39 53 54; \r\n  1 2 3 4 5 6 28 31 34 10 11 9 13 14 8 16 17 7 21 24 27 20 23 26 19 22 25 48 29 30 47 32 33 46 35 36 37 38 39 40 41 42 43 44 45 12 15 18 49 50 51 52 53 54 ;\r\n  1 2 43 4 5 40 7 8 37 10 11 12 13 14 15 16 17 18 19 20 3 22 23 6 25 26 9 30 33 36 29 32 35 28 31 34 54 38 39 51 41 42 48 44 45 46 47 21 49 50 24 52 53 27 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 13 14 15 16 17 18 10 11 12 22 23 24 25 26 27 19 20 21 31 32 33 34 35 36 28 29 30 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  16 13 10 4 5 6 7 8 9 52 11 12 53 14 15 54 17 18 19 20 21 22 23 24 25 26 27 28 29 1 31 32 2 34 35 3 39 42 45 38 41 44 37 40 43 46 47 48 49 50 51 36 33 30 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 26 27 19 20 21 22 23 24 34 35 36 28 29 30 31 32 33 43 44 45 37 38 39 40 41 42 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  45 2 3 42 5 6 39 8 9 16 13 10 17 14 11 18 15 12 1 20 21 4 23 24 7 26 27 28 29 30 31 32 33 34 35 36 37 38 52 40 41 49 43 44 46 19 47 48 22 50 51 25 53 54 ;\r\n  1 2 3 4 5 6 18 15 12 10 11 46 13 14 47 16 17 48 25 22 19 26 23 20 27 24 21 7 29 30 8 32 33 9 35 36 37 38 39 40 41 42 43 44 45 34 31 28 49 50 51 52 53 54 ;\r\n  1 2 21 4 5 24 7 8 27 10 11 12 13 14 15 16 17 18 19 20 48 22 23 51 25 26 54 34 31 28 35 32 29 36 33 30 9 38 39 6 41 42 3 44 45 46 47 43 49 50 40 52 53 37 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 13 14 15 16 17 18 28 29 30 22 23 24 25 26 27 37 38 39 31 32 33 34 35 36 10 11 12 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  30 33 36 4 5 6 7 8 9 3 11 12 2 14 15 1 17 18 19 20 21 22 23 24 25 26 27 28 29 54 31 32 53 34 35 52 43 40 37 44 41 38 45 42 39 46 47 48 49 50 51 10 13 16 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 43 44 45 19 20 21 22 23 24 16 17 18 28 29 30 31 32 33 25 26 27 37 38 39 40 41 42 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  46 2 3 49 5 6 52 8 9 18 17 16 15 14 13 12 11 10 45 20 21 42 23 24 39 26 27 28 29 30 31 32 33 34 35 36 37 38 25 40 41 22 43 44 19 1 47 48 4 50 51 7 53 54 ;\r\n  1 2 3 4 5 6 48 47 46 10 11 34 13 14 31 16 17 28 27 26 25 24 23 22 21 20 19 18 29 30 15 32 33 12 35 36 37 38 39 40 41 42 43 44 45 9 8 7 49 50 51 52 53 54 ;\r\n  1 2 48 4 5 51 7 8 54 10 11 12 13 14 15 16 17 18 19 20 43 22 23 40 25 26 37 36 35 34 33 32 31 30 29 28 27 38 39 24 41 42 21 44 45 46 47 3 49 50 6 52 53 9 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 13 14 15 16 17 18 37 38 39 22 23 24 25 26 27 10 11 12 31 32 33 34 35 36 19 20 21 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ;\r\n  54 53 52 4 5 6 7 8 9 36 11 12 33 14 15 30 17 18 19 20 21 22 23 24 25 26 27 28 29 16 31 32 13 34 35 10 45 44 43 42 41 40 39 38 37 46 47 48 49 50 51 3 2 1 ;\r\n  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 34 35 36 19 20 21 22 23 24 43 44 45 28 29 30 31 32 33 16 17 18 37 38 39 40 41 42 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  7 4 1 8 5 2 9 6 3 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 48 51 54 47 50 53 46 49 52 ;\r\n  19 20 21 22 23 24 25 26 27 12 15 18 11 14 17 10 13 16 46 47 48 49 50 51 52 53 54 34 31 28 35 32 29 36 33 30 9 8 7 6 5 4 3 2 1 45 44 43 42 41 40 39 38 37 ;\r\n  30 33 36 29 32 35 28 31 34 3 6 9 2 5 8 1 4 7 21 24 27 20 23 26 19 22 25 48 51 54 47 50 53 46 49 52 43 40 37 44 41 38 45 42 39 12 15 18 11 14 17 10 13 16 ;\r\n  3 6 9 2 5 8 1 4 7 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 52 49 46 53 50 47 54 51 48 ;\r\n  45 44 43 42 41 40 39 38 37 16 13 10 17 14 11 18 15 12 1 2 3 4 5 6 7 8 9 30 33 36 29 32 35 28 31 34 54 53 52 51 50 49 48 47 46 19 20 21 22 23 24 25 26 27 ;\r\n  16 13 10 17 14 11 18 15 12 52 49 46 53 50 47 54 51 48 25 22 19 26 23 20 27 24 21 7 4 1 8 5 2 9 6 3 39 42 45 38 41 44 37 40 43 34 31 28 35 32 29 36 33 30 ;\r\n  9 8 7 6 5 4 3 2 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 54 53 52 51 50 49 48 47 46 ;\r\n  46 47 48 49 50 51 52 53 54 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 1 2 3 4 5 6 7 8 9 ; \r\n  54 53 52 51 50 49 48 47 46 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 45 44 43 42 41 40 39 38 37 9 8 7 6 5 4 3 2 1 ];\r\nend\r\n\r\nr=r(vf(mov,:));\r\n\r\nend\r\n\r\n\r\n\r\n%}","test_suite":"%%\r\n% Load function rubik_rot.m\r\ntic\r\n%urlwrite('http://tinyurl.com/matlab-rubik-rot','rubik_rot.m') ;\r\nfname='https://sites.google.com/site/razapor/matlab_cody/rubik_rot.m?attredirects=0\u0026d=1';\r\nurlwrite(fname,'rubik_rot.m');\r\n%urlwrite('http://rmatlabtest.appspot.com/rubik_rot.m','rubik_rot.m') ;\r\nrehash path\r\ntoc\r\n%%\r\nfeval(@assignin,'caller','score',0);\r\n%%\r\nPass=1;\r\nr_fail=0;\r\n% Execute 200 cubes and verify completeness and count moves\r\n r(1:9)=0;     %Left   0 R\r\n r(10:18)=1;   %Up     1 W\r\n r(19:27)=2;   %Front  2 B\r\n r(28:36)=3;   %Down   3 Y\r\n r(37:45)=4;   %Back   4 G\r\n r(46:54)=5;   %Right  5 O\r\n rnorm=r;\r\n\r\nzcnt=0;\r\nsum_solve=0;\r\nmin_solve=1000;\r\nmax_solve=0;\r\nasolve=199;\r\nmix=40;\r\n\r\nwhile zcnt\u003c200\r\n zcnt=zcnt+1;\r\n  r=rnorm;\r\n % Initial mix\r\n mov=randi(18,[mix,1]);\r\n for i=1:length(mov)  % Ignoring Move Undos since mix=40\r\n  r=rubik_rot(mov(i),r);\r\n end\r\n\r\n r_reset=r; % Used in assert\r\n\r\n solve_vec=rubik_solve(r);\r\n\r\n for i=1:length(solve_vec) \r\n  r=rubik_rot(solve_vec(i),r);\r\n end\r\n\r\n if all(r(1:9)==r(5)) \u0026\u0026 all(r(10:18)==r(14))  \u0026\u0026 all(r(19:27)==r(23)) \u0026\u0026 ...\r\n     all(r(28:36)==r(32))  \u0026\u0026 all(r(37:45)==r(41)) \u0026\u0026 all(r(46:54)==r(50))\r\n   solve_vec(solve_vec\u003e18)=[];  \r\n   lsolve=length(solve_vec);\r\n   sum_solve=sum_solve+lsolve;\r\n   min_solve=min(min_solve,lsolve);\r\n   max_solve=max(max_solve,lsolve);\r\n   asolve=floor(sum_solve/zcnt);\r\n %  fprintf('Cube Solved Moves=%i  Avg Moves=%i min=%i  max=%i\\n',lsolve,asolve,min_solve,max_solve)\r\n  else % Deug info\r\n   Pass=0;\r\n   r_fail=r_reset;\r\n  % fprintf('\\n\\nCube NOT Solved???\\n\\n') \r\n  % fprintf('%i ',r); % Current ending data\r\n  % fprintf('\\n')\r\n  % fprintf('%i ',r_reset); % Starting Cube\r\n  end\r\n\r\nend % while of cubes\r\ntoc\r\n\r\nassert(isequal(Pass,1),sprintf('%i ',r_fail)); % Output Non-Solved Cube Start\r\nif Pass\r\n feval(@assignin,'caller','score',min(200,floor(asolve)));\r\nend\r\n\r\nfprintf('Moves: Avg %i   Min %i   Max %i\\n',asolve,min_solve,max_solve)\r\n \r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-09-29T17:59:35.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2012-08-09T05:09:30.000Z","updated_at":"2025-12-23T14:48:57.000Z","published_at":"2012-09-03T07:19:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Challenge is to Solve a thoroughly scrambled Rubik's Cube.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Performance metric is average number of moves for solving 200 cubes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA standard Rubik's Cube is shown in 3-D and also unfolded to identify the specific Tile-face/Vector numbering.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe faces are White-Up / Red-Left / Blue-Front / Orange-Right / Yellow-Down / Green-Back (ULFRDB)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMoves are denoted as F for clockwise rotation of the Front face. F'(or FP) is CCW and F2 is F twice. The loaded function r_new=rubick_rot(mov,r) implements moves 1-18: UFDLBRU'F'D'L'B'R'U2F2D2L2B2R2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Input: (rubik)\\n\\nrubik: row vector of size 54\\n(The cube started [L=0,U=1,F=2,D=3,B=4,R=5] and then receives forty face moves.\\n\\nOutput: move_vec (Numeric of moves to solve)\\n move_vec:values 1:27 for UFDLBR U'F'D'L'B'R' U2F2D2L2B2R2 XYZX'Y'Z'X2Y2Z2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the cube was randomized by [1 9] UD', one solution is [3 7] DU' which are the complements in reverse order.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eScoring is average face moves for 200 cubes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCube Moves X, Y, and Z do not constitute a move but are needed in the vector\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA string to numeric value function is provided in the template\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVerifications will be by executing your move vector against the provided Rubik and counting number of face moves.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function rubik_rot(mov,r) is available for intermediate processing\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template Contains a 3D Cube Viewer and the first part of the Beginner's Solution at the bottom in a comment block.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://kociemba.org/cube.htm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCube Theory: 20-moves Any Cube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://peter.stillhq.com/jasmine/rubikscubesolution.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGeneral Cube Info and Middle Layer\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.speedcubing.com/final_layer_print.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpeedCube Bottom Sequences\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eComing Soon: The Mini-Cube (2x2x2) Not as easy as it looks\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.gif\",\"relationshipId\":\"rId1\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId2\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image2.gif\",\"relationshipId\":\"rId3\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image2.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"3d viewer\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"3d viewer\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"3d viewer\"","","\"","3d viewer","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74def1dd58\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74def1dc18\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74def197f8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74def1e398\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74def1e1b8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74def1df38\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74def1ddf8\u003e":"tag:\"3d viewer\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74def1ddf8\u003e":"tag:\"3d viewer\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"3d viewer\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"3d viewer\"","","\"","3d viewer","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74def1dd58\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74def1dc18\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74def197f8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74def1e398\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74def1e1b8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74def1df38\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74def1ddf8\u003e":"tag:\"3d viewer\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74def1ddf8\u003e":"tag:\"3d viewer\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":931,"difficulty_rating":"hard"},{"id":886,"difficulty_rating":"hard"}]}}