()
| 93 | } |
| 94 | |
| 95 | public static String scramble() { |
| 96 | init(); |
| 97 | Random r = new Random(); |
| 98 | eo = r.nextInt(729); |
| 99 | ep = r.nextInt(5040); |
| 100 | cp = r.nextInt(40320); |
| 101 | for (len1 = 0; len1 < 20; len1++) { |
| 102 | if (search1(ep, eo, len1, -1)) { |
| 103 | if (len1 + len2 < 3) return scramble(); |
| 104 | StringBuilder sb = new StringBuilder(); |
| 105 | for (int i = len1 + 1; i <= len2 + len1; i++) |
| 106 | sb.append(turn2[sol[i] / 3]).append(suff[sol[i] % 3]).append(' '); |
| 107 | //sb.append(". "); |
| 108 | for (int i = 1; i <= len1; i++) |
| 109 | sb.append(turn1[sol[i] / 3]).append(suff[sol[i] % 3]).append(' '); |
| 110 | return sb.toString(); |
| 111 | } |
| 112 | } |
| 113 | return "error"; |
| 114 | } |
| 115 | |
| 116 | private static boolean search1(int ep, int eo, int d, int lf) { |
| 117 | if (d == 0) return eo == 0 && epd[ep] == 0 && init2(); |
no test coverage detected