fork download
  1. #List of algs to compare.
  2. # later to be graphically imported
  3. algList = [
  4. "R U R' U' R' F R2 U' R' U' R U R' F'",
  5. "(y2) L' U' L U L F' L2 U L U L' U' L F",
  6. "F R U' R' U R U R2 F' R U R U' R'",
  7. "(y2) B L U' L' U L U L2 B' L U L U' L'",
  8. "L2 U' L2 D F2 R2 U R2 D' F2 U",
  9. "R2 U' R2 D B2 L2 U L2 D' B2 U",
  10. "R2' u' R2 U R2' (y) R2 u R2' U' R2 U",
  11. "R2 U R2' U' R2 U' D R2' U' R2 U R2' D'",
  12. "U2 r' U2 r U2 (x) U2 r U2 r' U2 R (z')",
  13. "R U R' U' R2 D R' U' R' U' R U (z') U2 R' U (z)",
  14. "R2 U R2 U' R2 F2 U' F2 D R2 D'"]
  15.  
  16. #time estimations for individual moves
  17. counts = { 'U':.09, "U'":.10, 'U2':.15, 'u':.11, "u'":.12, 'u2':.17,
  18. 'R':.08, "R'":.08, 'R2':.14, 'r':.10, "r'":.11, 'r2':.14,
  19. 'F':.13, "F'":.14, 'F2':.19, 'f':.15, "f'":.17, 'f2':.20,
  20. 'D':.11, "D'":.12, 'D2':.17, 'd':.13, "d'":.14, 'd2':.19,
  21. 'B':.17, "B'":.15, 'B2':.22, 'b':.19, "b'":.17, 'b2':.24,
  22. 'L':.13, "L'":.18, 'L2':.22, 'l':.14, "l'":.19, 'l2':.24,
  23.  
  24. 'x':.18, "x'":.18, 'x2':.24,
  25. 'y':.18, "y'":.18, 'y2':.24,
  26. 'z':.19, "z'":.19, 'z2':.24,
  27.  
  28. 'M':.15, "M'":.11, 'M2':.18,
  29. 'E':.22, "E'":.25, 'E2':.28,
  30. 'S':.22, "S'":.25, 'S2':.28}
  31.  
  32. #get rid of dumb stuff
  33. def filter(alg):
  34. ialg = alg.replace('(', '') #get rid of unwanted
  35. ialg = ialg.replace(')', '') # or otherwise unneeded characters
  36. ialg = ialg.replace("2'", '2') # incl. whitespace, paren., 2's
  37. parts = ialg.split() #Divide the alg up into individual moves
  38. return parts
  39.  
  40. #Estimates the time of the algorithm
  41. def algTime(moveList):
  42. return sum(map(counts.get, moveList))
  43.  
  44. # Print the algs with times, sorted from fastest to slowest
  45. for time, alg in sorted([algTime(filter(alg)), alg] for alg in algList):
  46. print "%.2f" % time, alg
Success #stdin #stdout 0.01s 7852KB
stdin
Standard input is empty
stdout
1.36 F R U' R' U R U R2 F' R U R U' R'
1.37 R U R' U' R' F R2 U' R' U' R U R' F'
1.46 R2 U R2 U' R2 F2 U' F2 D R2 D'
1.53 R2' u' R2 U R2' (y) R2 u R2' U' R2 U
1.55 R2 U R2' U' R2 U' D R2' U' R2 U R2' D'
1.61 L2 U' L2 D F2 R2 U R2 D' F2 U
1.67 R2 U' R2 D B2 L2 U L2 D' B2 U
1.77 U2 r' U2 r U2 (x) U2 r U2 r' U2 R (z')
1.83 R U R' U' R2 D R' U' R' U' R U (z') U2 R' U (z)
2.08 (y2) L' U' L U L F' L2 U L U L' U' L F
2.13 (y2) B L U' L' U L U L2 B' L U L U' L'