nissy-core

The "engine" of nissy, including the H48 optimal solver.
git clone https://git.tronto.net/nissy-core
Download | Log | Files | Refs | README | LICENSE

scrambles.h (6586B)


      1 struct {
      2 	char *scramble;
      3 	char *solutions;
      4 } s[] = {
      5 [0] = {
      6 	.scramble = "D' F U' B2 R' B D' L2 B D' F2 D' R2 F2 U' R2 D R2 U' R2 B2 D",
      7 	.solutions =
      8 		"(U D L)\n"
      9 },
     10 [1] = {
     11 	.scramble = "L2 B R' B2 R D2 F D L U R2 U2 R2 F2 U' F2 U' L2 U' L2",
     12 	.solutions =
     13 		"U L\n"
     14 },
     15 [2] = {
     16 	.scramble = "U L D B R' B' D F' R2 B D R2 U' F2 R2 D R2 U B2 D' F2",
     17 	.solutions =
     18 		"B F L D R\n"
     19 		"B F L' D R\n"
     20 		"B' F L D R\n"
     21 		"B' F L' D R\n"
     22 		"D' B R F' L\n"
     23 		"D' B R' F' L\n"
     24 		"D' B' R F' L\n"
     25 		"D' B' R' F' L\n"
     26 		"F D' B R L\n"
     27 		"F D' B' R L\n"
     28 		"(U D2 L B R)\n"
     29 		"(U D2 L' B R)\n"
     30 		"(U R2 L F' R)\n"
     31 		"(U R2 L' F' R)\n"
     32 		"(U L D B R)\n"
     33 		"(U L' D B R)\n"
     34 		"(U' D2 L B R)\n"
     35 		"(U' D2 L' B R)\n"
     36 		"(U' R2 L F' R)\n"
     37 		"(U' R2 L' F' R)\n"
     38 		"(U' L D B R)\n"
     39 		"(U' L' D B R)\n"
     40 		"(R U L F' R)\n"
     41 		"(R U L' F' R)\n"
     42 		"(R U' L F' R)\n"
     43 		"(R U' L' F' R)\n"
     44 		"(D2 B' U R L)\n"
     45 		"(D2 B' U' R L)\n"
     46 		"(R F U R L)\n"
     47 		"(R F U' R L)\n"
     48 },
     49 [3] = {
     50 	.scramble = "B' R' F' R' L U' L2 U F L U2 B2 D F2 D' L2 B2 D2 L2 F2 D' B2",
     51 	.solutions =
     52 		"L U D' B R\n"
     53 		"L U B D2 R\n"
     54 		"L' U D' B' R\n"
     55 		"L' D' B' U2 R\n"
     56 		"B L' U2 D' R\n"
     57 		"B' L U D2 R\n"
     58 		"L U' B' F2 L\n"
     59 		"L F2 U' B' L\n"
     60 		"L' D B F2 L\n"
     61 		"L' F2 D B L\n"
     62 		"(L' D B2 F R)\n"
     63 		"(L' B2 D F R)\n"
     64 		"(F' L' D B2 R)\n"
     65 		"(F' L' B2 D R)\n"
     66 		"(R' F R U L)\n"
     67 		"(R' F R' U L)\n"
     68 		"(L U2 D' B L)\n"
     69 		"(L U2 B D' L)\n"
     70 		"(L' U D' F' L)\n"
     71 		"(L' D' F' U2 L)\n"
     72 		"U2 F' L (F L)\n"
     73 		"D L (U D L)\n"
     74 		"L (U D F L)\n"
     75 		"L (U L2 B' L)\n"
     76 		"L (L U B' L)\n"
     77 		"L (L B' U L)\n"
     78 		"L (L' D F' L)\n"
     79 		"L (L' F' D L)\n"
     80 		"L (F' L2 D L)\n"
     81 		"L (B' F' U' L)\n"
     82 		"L U2 F' L (L)\n"
     83 		"L2 U' B L (L)\n"
     84 		"L2 B U2 L (L)\n"
     85 		"L' B L (U2 L)\n"
     86 		"F2 L (L' F' L)\n"
     87 },
     88 [4] = {
     89 	.scramble = "D L F2 B' U' F D' B2 U L' F2 U B2 U2 L2 U' L2 D' R2 D2 F2 U F2",
     90 	.solutions =
     91 		"(U D' L B2 R)\n"
     92 		"(U L D' B2 R)\n"
     93 		"(U L B D' R)\n"
     94 		"(U' D' L B2 R)\n"
     95 		"(U' L D' B2 R)\n"
     96 		"(U' L B D' R)\n"
     97 		"(U D' R D2 L)\n"
     98 		"(U' D' R D2 L)\n"
     99 		"(R U R D L)\n"
    100 		"(R U R' D L)\n"
    101 		"(R U' R D L)\n"
    102 		"(R U' R' D L)\n"
    103 		"(D R U R L)\n"
    104 		"(D R U' R L)\n"
    105 		"U' D R (D L)\n"
    106 		"B' U' R (U L)\n"
    107 		"D' L (U B R)\n"
    108 },
    109 [5] = {
    110 	.scramble = "F2 U F2 U2 B D B2 R F2 D2 B L2 D2 B2 U2 D2 B' L2 F L2",
    111 	.solutions =
    112 		"R2 D2 F L\n"
    113 		"L2 U2 B' L\n"
    114 		"L2 B' U2 L\n"
    115 		"(U' D B' R)\n"
    116 		"(U' B' D R)\n"
    117 		"(D R2 F R)\n"
    118 		"(R2 U' F' R)\n"
    119 		"(R' D F R)\n"
    120 		"U2 L (B' R)\n"
    121 		"L (B' F R)\n"
    122 },
    123 [6] = {
    124 	.scramble = "L F2 R' D L U' R' B' D B2 D2 L2 U2 F' L2 F B R2 B' R2",
    125 	.solutions =
    126 		"R B D F2 R\n"
    127 		"R B F' D R\n"
    128 		"R' F2 U' B R\n"
    129 		"R' B F2 U' R\n"
    130 		"L D' L F' R\n"
    131 		"L D' L' F' R\n"
    132 		"D R U2 B' L\n"
    133 		"D R B' U2 L\n"
    134 		"R U2 B' D' L\n"
    135 		"R B' U2 D' L\n"
    136 		"(U D L U2 R)\n"
    137 		"(U D' L U2 R)\n"
    138 		"(L D L U' R)\n"
    139 		"(L D L' U' R)\n"
    140 		"(L D' L U' R)\n"
    141 		"(L D' L' U' R)\n"
    142 		"(U D R B2 L)\n"
    143 		"(U D' R B2 L)\n"
    144 		"(D R U B2 L)\n"
    145 		"(D R B2 U L)\n"
    146 		"(D' R U B2 L)\n"
    147 		"(D' R B2 U L)\n"
    148 		"(U' L D R L)\n"
    149 		"(U' L D' R L)\n"
    150 		"R (U2 F' D' R)\n"
    151 		"R (F' U2 D' R)\n"
    152 		"R (F D B2 L)\n"
    153 		"R (B' F D L)\n"
    154 		"F' R (R D R)\n"
    155 		"B R (U2 D' R)\n"
    156 		"B2 F' R (D R)\n"
    157 },
    158 [7] = {
    159 	.scramble = "B2 L' F' U' R' L2 D' B R L2 F' B' U2 L2 B U2 F' U2 R2 B' U2",
    160 	.solutions =
    161 		"L2 U L F R\n"
    162 		"L2 U L' F R\n"
    163 		"(R2 B L D R)\n"
    164 		"(R2 B L' D R)\n"
    165 		"(R2 B' L D R)\n"
    166 		"(R2 B' L' D R)\n"
    167 		"(B L U F' R)\n"
    168 		"(B L F' U R)\n"
    169 		"(B L' U F' R)\n"
    170 		"(B L' F' U R)\n"
    171 		"(R2 D' B R L)\n"
    172 		"(R2 D' B' R L)\n"
    173 		"F R (D B' L)\n"
    174 		"F R (B' D2 L)\n"
    175 		"F2 R (D B L)\n"
    176 		"F2 D R (B' L)\n"
    177 },
    178 [8] = {
    179 	.scramble = "D2 L U F B2 D L' U B' R F2 B2 L D2 L' D2 L2 D2 F2 R2 L'",
    180 	.solutions =
    181 		"L F R U' L\n"
    182 		"L F R' U' L\n"
    183 		"L F' R U' L\n"
    184 		"L F' R' U' L\n"
    185 		"F R L2 U' L\n"
    186 		"F R B D L\n"
    187 		"F R' L2 U' L\n"
    188 		"F R' B D L\n"
    189 		"F' R L2 U' L\n"
    190 		"F' R B D L\n"
    191 		"F' R' L2 U' L\n"
    192 		"F' R' B D L\n"
    193 		"B2 F R D L\n"
    194 		"B2 F R' D L\n"
    195 		"B2 F' R D L\n"
    196 		"B2 F' R' D L\n"
    197 		"L U F R L\n"
    198 		"L U F' R L\n"
    199 		"B2 D' F R L\n"
    200 		"B2 D' F' R L\n"
    201 		"(R2 F' R D' L)\n"
    202 		"(R2 F' R' D' L)\n"
    203 		"D F R (B2 R)\n"
    204 		"R (U' L' B2 R)\n"
    205 		"R (L' U' B2 R)\n"
    206 		"R (L' B2 U' R)\n"
    207 		"R (U' R' U2 L)\n"
    208 		"F' R (U' B2 R)\n"
    209 		"F' R (B2 U' R)\n"
    210 		"L U R L (L)\n"
    211 		"L U' R L (L)\n"
    212 },
    213 [9] = {
    214 	.scramble = "U' L B R L U2 D R' U2 F R2 D2 F R2 F' B' D2 R2 L2",
    215 	.solutions =
    216 		"D' F' R\n"
    217 		"R2 B R\n"
    218 },
    219 [10] = {
    220 	.scramble = "D L U' F R2 L' U2 L' U2 B U' F2 R2 U L2 D B2 D' L2 D2 F2",
    221 	.solutions =
    222 		"R U' R (L)\n"
    223 },
    224 [11] = {
    225 	.scramble = "R B R' U B' L' B R2 U' L' U' F2 U L2 U2 F2 D' L2 U B2 U2 F2 D'",
    226 	.solutions =
    227 		"(B L' F2 D R)\n"
    228 		"(B' L' F2 D R)\n"
    229 		"D' L (D' B' R)\n"
    230 },
    231 [12] = {
    232 	.scramble = "F U2 F R' D' L' U L' F L2 F2 R2 F2 D2 L F2 R' D2 L F2 L",
    233 	.solutions =
    234 		"(L2 U L D2 R)\n"
    235 		"(L2 U' L D2 R)\n"
    236 		"(L' U L' D2 R)\n"
    237 		"(L' U' L' D2 R)\n"
    238 		"(U R' B2 D L)\n"
    239 		"(L2 U R F2 L)\n"
    240 		"(L2 U' R F2 L)\n"
    241 		"(L' U R' B2 L)\n"
    242 		"(L' U' R' B2 L)\n"
    243 		"U R (U2 F2 R)\n"
    244 		"U R (F2 U2 R)\n"
    245 		"U R (D2 B2 L)\n"
    246 		"U R (B2 D2 L)\n"
    247 		"U D R (B2 L)\n"
    248 		"U' F2 R (U R)\n"
    249 		"R (R D' B2 L)\n"
    250 		"R (R B2 D' L)\n"
    251 		"L U' R (B R)\n"
    252 		"L' U' R (B R)\n"
    253 		"F U' R (U R)\n"
    254 },
    255 [13] = {
    256 	.scramble = "R2 D F L2 B D L2 F' R' U2 F2 B2 L' D2 B2 L' U2 R U2 B2 R'",
    257 	.solutions =
    258 		"F2 L\n"
    259 },
    260 [14] = {
    261 	.scramble = "U R' D' L B' D B U B R2 F2 L' B2 U2 R2 U2 R' U2 F2 R U2",
    262 	.solutions =
    263 		"L (L D R)\n"
    264 		"L (L' D R)\n"
    265 },
    266 [15] = {
    267 	.scramble = "D F2 R' U L2 B' D B2 U R2 L2 F' D2 R2 L2 F2 D2 F R2 D2 L2",
    268 	.solutions =
    269 		"(D F2 R)\n"
    270 		"(F' D R)\n"
    271 },
    272 [16] = {
    273 	.scramble = "F2 R D F L' B' D' L' U2 D' F L2 D2 F' B2 D2 B' R2 B2",
    274 	.solutions =
    275 		"(R2 D2 L)\n"
    276 		"(L2 U2 L)\n"
    277 },
    278 [17] = {
    279 	.scramble = "B U' F' D' L2 D' L' B' R F L2 F2 U2 F D2 F' R2 B L2 F2 D2",
    280 	.solutions =
    281 		"U2 B R L\n"
    282 		"U2 B' R L\n"
    283 },
    284 [18] = {
    285 	.scramble = "L2 F U2 R' D' F B' L' B2 L U2 F2 D' L2 D2 R2 B2 D' R2 L2 D2",
    286 	.solutions =
    287 		"(F' L F2 R)\n"
    288 		"(R U F' L)\n"
    289 		"(R F' U2 L)\n"
    290 		"(F' R U2 L)\n"
    291 		"D' L (R L)\n"
    292 },
    293 [19] = {
    294 	.scramble = "R2 D F' U2 R2 L' U' D R B' R U2 F2 R' L2 F2 R F2 U2 F2 U2",
    295 	.solutions =
    296 		"U' B R D' L\n"
    297 		"U' B R' D' L\n"
    298 		"U' B' R D' L\n"
    299 		"U' B' R' D' L\n"
    300 		"D B R U L\n"
    301 		"D B R' U L\n"
    302 		"D B' R U L\n"
    303 		"D B' R' U L\n"
    304 		"B R U D' L\n"
    305 		"B R' U D' L\n"
    306 		"B' R U D' L\n"
    307 		"B' R' U D' L\n"
    308 		"U' D B R L\n"
    309 		"U' D B' R L\n"
    310 		"(D' F L U R)\n"
    311 		"(D' F L' U R)\n"
    312 		"(D' F' L U R)\n"
    313 		"(D' F' L' U R)\n"
    314 		"(U' F R D L)\n"
    315 		"(U' F R' D L)\n"
    316 		"(U' F' R D L)\n"
    317 		"(U' F' R' D L)\n"
    318 		"(U' D' F R L)\n"
    319 		"(U' D' F' R L)\n"
    320 		"R (L U R L)\n"
    321 		"R (L U' R L)\n"
    322 },
    323 {
    324 	.scramble = "", /* End-of-list signal */
    325 }
    326 };