The challenge Solve Rubik's cube has a lot of flaws:
- Arbitrary limits:
(say, max. 5 seconds on your machine and less than 1000 moves)
- Cumbersome input format:
The input is in the format UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (this particular input represents the solved cube). First 12 2-character strings are the edges in the UF, UR, ... BL positions (U=up, F=front, R=right, B=back, L=left, D=down), then the next 8 3-character strings are the corners in the UFR, URB, ... DBR positions.
- Cumbersome output format:
D+ L2 U+ F+ D+ L+ D+ F+ U- F+ Where D1 or D+ represents turning the D (down) face clockwise 90 degrees, L2 is turning the L face 180 degrees, U3 or U- represents turning the U face counterclockwise 90 degrees.
- It's five years old and only has three answers (likely due to the three points above).
I would like to rewrite it with less time/output limits and less I/O requirements.