package Ġcom . pu zz let imer . sc ram bl ers Ċ Ċ import Ġcom . pu zz let imer . sol vers . Flo ppy Cube Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Flo ppy Cube Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Py ram inx Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Py ram inx Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Clock Solver . getRandom Sequence Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube Cross Solver . solve Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube Solver . State . multiply Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube R US olver . generate Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube R US olver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Dom ino Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Dom ino Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Rub iks P ocket Cube Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Rub iks P ocket Cube Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Tower Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Tower Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Sk ew b Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Sk ew b Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Square 1 Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Square 1 Solver . getRandom State Ċ import Ġcom . pu zz let imer . sol vers . Tower Cube Solver . generate Ċ import Ġcom . pu zz let imer . sol vers . Tower Cube Solver . getRandom State Ċ import Ġcom . pu zz let imer . models . Scr amb ler Info Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler Ċ import Ġcom . pu zz let imer . models . Scr amble Ċ import Ġjava . util . Arrays Ċ import Ġcom . pu zz let imer . sol vers . Flo ppy Cube Solver Ċ import Ġcom . pu zz let imer . sc ram bl ers . Big Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sol vers . Py ram inx Solver Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Clock Solver Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube Cross Solver Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube Solver Ċ import Ġjava . util . HashMap Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Cube R US olver Ċ import Ġjava . util . Collections Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Dom ino Solver Ċ import Ġcom . pu zz let imer . sol vers . Rub iks P ocket Cube Solver Ċ import Ġcom . pu zz let imer . sol vers . Rub iks Tower Solver Ċ import Ġcom . pu zz let imer . sc ram bl ers . Empty Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks P ocket Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Cube L US cr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Cube R US cr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Cube Single St icker Cycle Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Cube Easy Cross Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Re ven ge Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Prof ess ors Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . VC ube 6 Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . VC ube 7 Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . SS 8 Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . SS 9 Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Clock Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Me gam inx Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Py ram inx Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Square 1 Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Square 1 Cube Shape Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Sk ew b Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Flo ppy Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Tower Cube Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Tower Random Scr amb ler Ċ import Ġcom . pu zz let imer . sc ram bl ers . Rub iks Dom ino Random Scr amb ler Ċ import Ġcom . pu zz let imer . sol vers . Sk ew b Solver Ċ import Ġcom . pu zz let imer . sol vers . Square 1 Solver Ċ import Ġcom . pu zz let imer . sol vers . Tower Cube Solver Ċ Ċ class ĠRub iks Cube Single St icker Cycle Scr amb ler ( override Ġval Ġscr amb ler Info : ĠScr amb ler Info ) Ġ: ĠScr amb ler Ġ{ ĊĠĠĠ Ġprivate Ġval Ġrub iks Cube Random Scr amb ler : ĠRub iks Cube Random Scr amb ler // Ġend Ġof Ġcycle // Ġend Ġof Ġcycle ĊĊĠĠĠ Ġ// Ġedges ĊĠĠĠ Ġ// Ġcorners ĊĠĠĠ Ġoverride Ġval Ġnext Scr amble : ĠScr amble ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstate : ĠRub iks Cube Solver . State ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsingle Corner Cycle Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsingle Edge Cycle Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ(! single Corner Cycle Ġ|| Ġ! single Edge Cycle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġrub iks Cube Random Scr amb ler . random State ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcorners ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsolved C orners Ġ= ĠBoolean Array ( 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolved C orners . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved C orners [ i ] Ġ= Ġstate !!. corners Per mutation ! ![ i ] Ġ== Ġi Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . corners Orientation ! ![ i ] Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved C orners [ 0 ] Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcurrent Corner Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Corner Ġ= Ġstate !!. corners Per mutation ! ![ current Corner ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġend Ġof Ġcycle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( next Corner Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsolved Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolved C orners . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! solved C orners [ i ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Corner Cycle Ġ= Ġsolved ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Corner Ġ= Ġnext Corner ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved C orners [ current Corner ] Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġedges ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsolved Edges Ġ= ĠBoolean Array ( 1 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolved Edges . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved Edges [ i ] Ġ= Ġstate . edges Per mutation ! ![ i ] Ġ== Ġi Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . edges Orientation ! ![ i ] Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved Edges [ 0 ] Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcurrent Edge Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Edge Ġ= Ġstate . edges Per mutation ! ![ current Edge ]. toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġend Ġof Ġcycle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( next Edge Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsolved Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolved Edges . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! solved Edges [ i ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Edge Cycle Ġ= Ġsolved ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Edge Ġ= Ġnext Edge ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolved Edges [ current Edge ] Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠScr amble ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscr amb ler Info . scr amb ler Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate ( state !! )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscr amb ler Info . description ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrub iks Cube Random Scr amb ler Ġ= ĠRub iks Cube Random Scr amb ler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScr amb ler Info (" R UB I KS - CUBE - RANDOM ", Ġ" R UB I KS - CUBE ", Ġ" Random Ġscr amb ler "), Ġbyte ArrayOf (- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 ), Ġbyte ArrayOf (- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 ), Ġbyte ArrayOf (- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 ), Ġbyte ArrayOf (- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 )) ĊĠĠĠ Ġ} Ċ }