Cody

Problem 1139. Rubik's Cube: 30 Moves or Less : Contest Scoring (Time/Size/Moves)

Solution 3006835

Submitted on 29 Sep 2020 by Richard Zapor
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
feval(@assignin,'caller','score',100);

2   Pass
vf=[ 17 2 3 20 5 22 7 8 11 13 16 10 15 9 12 14 41 18 19 44 21 46 23 24 25 26 27 28 29 30 31 32 33 34 6 36 4 38 39 1 40 42 43 37 45 35 47 48; 1 2 3 4 5 25 28 30 9 10 8 12 7 14 15 6 19 21 24 18 23 17 20 22 43 26 27 42 29 41 31 32 33 34 35 36 37 38 39 40 11 13 16 44 45 46 47 48 ; 1 2 38 4 36 6 7 33 9 10 11 12 13 14 15 16 17 18 3 20 5 22 23 8 27 29 32 26 31 25 28 30 48 34 35 45 37 43 39 40 41 42 19 44 21 46 47 24 ; 3 5 8 2 7 1 4 6 33 34 35 12 13 14 15 16 9 10 11 20 21 22 23 24 17 18 19 28 29 30 31 32 25 26 27 36 37 38 39 40 41 42 43 44 45 46 47 48 ; 14 12 9 4 5 6 7 8 46 10 11 47 13 48 15 16 17 18 19 20 21 22 23 24 25 26 1 28 2 30 31 3 35 37 40 34 39 33 36 38 41 42 43 44 45 32 29 27 ; 1 2 3 4 5 6 7 8 9 10 11 12 13 22 23 24 17 18 19 20 21 30 31 32 25 26 27 28 29 38 39 40 33 34 35 36 37 14 15 16 43 45 48 42 47 41 44 46 ; 40 2 3 37 5 35 7 8 14 12 9 15 10 16 13 11 1 18 19 4 21 6 23 24 25 26 27 28 29 30 31 32 33 34 46 36 44 38 39 41 17 42 43 20 45 22 47 48 ; 1 2 3 4 5 16 13 11 9 10 41 12 42 14 15 43 22 20 17 23 18 24 21 19 6 26 27 7 29 8 31 32 33 34 35 36 37 38 39 40 30 28 25 44 45 46 47 48 ; 1 2 19 4 21 6 7 24 9 10 11 12 13 14 15 16 17 18 43 20 45 22 23 48 30 28 25 31 26 32 29 27 8 34 35 5 37 3 39 40 41 42 38 44 36 46 47 33 ; 6 4 1 7 2 8 5 3 17 18 19 12 13 14 15 16 25 26 27 20 21 22 23 24 33 34 35 28 29 30 31 32 9 10 11 36 37 38 39 40 41 42 43 44 45 46 47 48 ; 27 29 32 4 5 6 7 8 3 10 11 2 13 1 15 16 17 18 19 20 21 22 23 24 25 26 48 28 47 30 31 46 38 36 33 39 34 40 37 35 41 42 43 44 45 9 12 14 ; 1 2 3 4 5 6 7 8 9 10 11 12 13 38 39 40 17 18 19 20 21 14 15 16 25 26 27 28 29 22 23 24 33 34 35 36 37 30 31 32 46 44 41 47 42 48 45 43 ; 41 2 3 44 5 46 7 8 16 15 14 13 12 11 10 9 40 18 19 37 21 35 23 24 25 26 27 28 29 30 31 32 33 34 22 36 20 38 39 17 1 42 43 4 45 6 47 48 ; 1 2 3 4 5 43 42 41 9 10 30 12 28 14 15 25 24 23 22 21 20 19 18 17 16 26 27 13 29 11 31 32 33 34 35 36 37 38 39 40 8 7 6 44 45 46 47 48 ; 1 2 43 4 45 6 7 48 9 10 11 12 13 14 15 16 17 18 38 20 36 22 23 33 32 31 30 29 28 27 26 25 24 34 35 21 37 19 39 40 41 42 3 44 5 46 47 8 ; 8 7 6 5 4 3 2 1 25 26 27 12 13 14 15 16 33 34 35 20 21 22 23 24 9 10 11 28 29 30 31 32 17 18 19 36 37 38 39 40 41 42 43 44 45 46 47 48 ; 48 47 46 4 5 6 7 8 32 10 11 29 13 27 15 16 17 18 19 20 21 22 23 24 25 26 14 28 12 30 31 9 40 39 38 37 36 35 34 33 41 42 43 44 45 3 2 1 ; 1 2 3 4 5 6 7 8 9 10 11 12 13 30 31 32 17 18 19 20 21 38 39 40 25 26 27 28 29 14 15 16 33 34 35 36 37 22 23 24 48 47 46 45 44 43 42 41 ]; cube_orig=[zeros(1,8) ones(1,8) ones(1,8)*2 ones(1,8)*3 ones(1,8)*4 ones(1,8)*5]; tsum=0; msum=0; Lbest=30; for cube_sets=1:4 if cube_sets==2 tsum=0; msum=0; end encode=randi(18,1,80); fprintf('Encode: ');fprintf('%i ',encode);fprintf('\n') r=cube_orig; for i= encode r=r(vf(i,:)); end encode=[]; % anti-shortcut encode_str=''; cube=r; fprintf('%i',r);fprintf('\n') % Time function ta=clock; [v]=Rubik_Solver(cube); t1=etime(clock,ta)*1000; % time in msec tsum=tsum+t1; Lv=length(v); msum=msum+Lv; assert(Lv<=30) fprintf('Time: %.0f msec Total Time %.0f\n',t1,tsum) fprintf('Solution length %i\n',length(v)) fprintf('%i ',v);fprintf('\n') r=cube; for i=v r=r(vf(i,:)); end fprintf('Solved Cube\n');fprintf('%i',r);fprintf('\n') tf=isequal(r,cube_orig); fprintf('Solved %i Moves %i \n\n\n\n',tf, Lv) assert(tf) assert(~isequal(1,2)) if Lv<Lbest,Lbest=Lv;end end % cubesets msiz=mtree('Rubik_Solver.m','-file').count tsum=tsum/3000; % avg in seconds msum=msum/3; score=msum+msiz/2000+exp(tsum/3); fprintf('Size %.0f Avg Time %5.2f Moves Avg %5.1f\n',msiz,tsum,msum) feval( @assignin,'caller','score',floor(min( 100,score )) );

Encode: 18 9 12 13 11 6 12 16 9 15 18 13 4 17 10 4 14 1 2 13 7 11 13 18 1 11 2 16 10 8 9 18 6 11 12 7 6 12 18 6 8 13 10 9 16 12 2 18 16 1 17 9 17 18 17 7 9 6 8 1 5 1 12 6 6 12 9 16 7 10 15 7 17 12 2 8 13 18 13 7 105024424204131131305055032433151304045222452531 ans = '/users/mss.system.z4p7vL/RubikP1_c_e_m_map.mat' Elapsed time is 0.582486 seconds. Elapsed time is 0.623627 seconds. Solution found L= 4 Solutions found 1 Decode: 5 10 17 18 9 5 7 10 Solution Sequence: B LP B2 R2 DP B UP LP Phase 1 Input 105024424204131131305055032433151304045222452531 Phase 1 Result 555205553331131324245222131131314244244400005000 Phase 1 Sequence: 5 10 17 18 9 5 7 10 Phase 1 Output 555205553331131324245222131131314244244400005000 ans = '/users/mss.system.z4p7vL/RubikP2_mec_map.mat' Elapsed time is 0.240077 seconds. Elapsed time is 0.295192 seconds. Solution found L= 7 Solutions found 272 Decode: 15 18 13 18 14 16 17 1 14 16 17 9 16 Solution Sequence: D2 R2 U2 R2 F2 L2 B2 U F2 L2 B2 DP L2 Phase 2 Input 555205553331131324245222131131314244244400005000 Final Cube after hf_seq 000000001111111122222222333333334444444455555555 Max idx 146635 Phase 2 Sequence: 15 18 13 18 14 16 17 1 14 16 17 9 16 Phase 2 Output 000000001111111122222222333333334444444455555555 Full Sequence: 5 10 17 18 9 5 7 10 15 18 13 18 14 16 17 1 14 16 17 9 16 Time: 1714 msec Total Time 1714 Solution length 21 5 10 17 18 9 5 7 10 15 18 13 18 14 16 17 1 14 16 17 9 16 Solved Cube 000000001111111122222222333333334444444455555555 Solved 1 Moves 21 Encode: 3 6 18 15 10 1 15 4 3 8 16 5 8 7 4 17 14 15 13 12 15 10 8 14 2 18 10 13 1 15 5 7 16 4 17 2 15 5 7 14 14 5 1 11 2 16 7 1 18 3 7 10 5 2 6 5 12 4 13 7 15 1 9 2 16 16 10 16 5 9 13 2 7 11 5 8 2 11 15 6 500104251235131053103123432440313421402245455502 Solution found L= 5 Solutions found 21 Decode: 14 3 4 14 10 13 10 2 10 Solution Sequence: F2 D L F2 LP U2 LP F LP Phase 1 Input 500104251235131053103123432440313421402245455502 Phase 1 Result 255452041313113354042240313131132205042405420505 Phase 1 Sequence: 14 3 4 14 10 13 10 2 10 Phase 1 Output 255452041313113354042240313131132205042405420505 Solution found L= 7 Solutions found 1 Decode: 16 7 16 14 1 18 7 18 14 18 16 7 14 9 Solution Sequence: L2 UP L2 F2 U R2 UP R2 F2 R2 L2 UP F2 DP Phase 2 Input 255452041313113354042240313131132205042405420505 Final Cube after hf_seq 000000001111111122222222333333334444444455555555 Max idx 146635 Phase 2 Sequence: 16 7 16 14 1 18 7 18 14 18 16 7 14 9 Phase 2 Output 000000001111111122222222333333334444444455555555 Full Sequence: 14 3 4 14 10 13 10 2 10 16 7 16 14 1 18 7 18 14 18 16 7 14 9 Time: 782 msec Total Time 782 Solution length 23 14 3 4 14 10 13 10 2 10 16 7 16 14 1 18 7 18 14 18 16 7 14 9 Solved Cube 000000001111111122222222333333334444444455555555 Solved 1 Moves 23 Encode: 8 12 7 10 9 17 14 11 6 6 14 5 9 14 2 6 2 14 18 12 5 9 4 6 1 10 14 11 7 6 16 13 2 10 10 15 5 12 10 15 2 13 3 7 5 14 7 6 12 11 11 17 9 13 8 15 8 4 14 5 6 1 17 12 17 5 6 13 8 5 6 4 2 18 17 18 16 6 11 10 414030235244204315415530005402411531025222113335 Solution found L= 5 Solutions found 8 Decode: 17 15 1 10 3 7 11 12 2 10 Solution Sequence: B2 D2 U LP D UP BP RP F LP Phase 1 Input 414030235244204315415530005402411531025222113335 Phase 1 Result 000504501331311354244525333111314245204425202502 Phase 1 Sequence: 17 15 1 10 3 7 11 12 2 10 Phase 1 Output 000504501331311354244525333111314245204425202502 Solution found L= 7 Solutions found 119 Decode: 15 14 16 14 1 17 3 1 18 3 16 17 16 Solution Sequence: D2 F2 L2 F2 U B2 D U R2 D L2 B2 L2 Phase 2 Input 000504501331311354244525333111314245204425202502 Final Cube after hf_seq 000000001111111122222222333333334444444455555555 Max idx 146635 Phase 2 Sequence: 15 14 16 14 1 17 3 1 18 3 16 17 16 Phase 2 Output 000000001111111122222222333333334444444455555555 Full Sequence: 17 15 1 10 3 7 11 12 2 10 15 14 16 14 1 17 3 1 18 3 16 17 16 Time: 763 msec Total Time 1544 Solution length 23 17 15 1 10 3 7 11 12 2 10 15 14 16 14 1 17 3 1 18 3 16 17 16 Solved Cube 000000001111111122222222333333334444444455555555 Solved 1 Moves 23 Encode: 17 10 12 3 3 17 16 11 9 14 7 5 17 16 18 14 11 3 11 7 7 8 14 5 10 17 12 15 1 5 17 2 17 1 13 3 13 12 12 2 14 18 1 2 10 2 2 1 2 12 18 12 15 9 11 15 12 18 1 2 14 15 6 6 8 12 14 2 5 16 13 15 5 10 3 13 11 17 15 11 045111032552431423053540241251534312002230403514 Solution found L= 5 Solutions found 17 Decode: 1 4 11 6 15 6 5 6 11 Solution Sequence: U L BP R D2 R B R BP Phase 1 Input 045111032552431423053540241251534312002230403514 Phase 1 Result 055452543311113354502422113131332225404050002404 Phase 1 Sequence: 1 4 11 6 15 6 5 6 11 Phase 1 Output 055452543311113354502422113131332225404050002404 Solution found L= 7 Solutions found 1 Decode: 17 14 9 18 9 18 14 13 17 7 14 3 17 18 Solution Sequence: B2 F2 DP R2 DP R2 F2 U2 B2 UP F2 D B2 R2 Phase 2 Input 055452543311113354502422113131332225404050002404 Final Cube after hf_seq 000000001111111122222222333333334444444455555555 Max idx 146635 Phase 2 Sequence: 17 14 9 18 9 18 14 13 17 7 14 3 17 18 Phase 2 Output 000000001111111122222222333333334444444455555555 Full Sequence: 1 4 11 6 15 6 5 6 11 17 14 9 18 9 18 14 13 17 7 14 3 17 18 Time: 784 msec Total Time 2329 Solution length 23 1 4 11 6 15 6 5 6 11 17 14 9 18 9 18 14 13 17 7 14 3 17 18 Solved Cube 000000001111111122222222333333334444444455555555 Solved 1 Moves 23 msiz = 3905 Size 3905 Avg Time 0.78 Moves Avg 23.0

Suggested Problems

More from this Author246

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!