| 69 | protected static String[] rotateStr = {"", "y", "z2", "z2 y", "z'", "z' y", "z", "z y", "x'", "x' y", "x", "x y"}; |
| 70 | |
| 71 | private static boolean search(int eo, int ep, int depth, int l) { |
| 72 | if (depth == 0) return eo == 0 && ep == 106; |
| 73 | if (eod[eo] > depth || epd[ep] > depth) return false; |
| 74 | for (int i = 0; i < 6; i++) |
| 75 | if (i != l) { |
| 76 | int x = eo, y = ep; |
| 77 | for (int j = 0; j < 3; j++) { |
| 78 | x = eom[x][i]; |
| 79 | y = epm[y][i]; |
| 80 | if (search(x, y, depth - 1, i)) { |
| 81 | seq[depth] = i * 3 + j; |
| 82 | //sb.insert(0, " " + turn[i] + suff[j]); |
| 83 | return true; |
| 84 | } |
| 85 | } |
| 86 | } |
| 87 | return false; |
| 88 | } |
| 89 | |
| 90 | private static String eoline(String scramble, int face) { |
| 91 | String[] s = scramble.split(" "); |