fork download
  1. import java.text.DecimalFormat;
  2. import java.util.Arrays;
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import java.util.SortedMap;
  6. import java.util.TreeMap;
  7.  
  8. class test{
  9. public static void main (String args[]){
  10. String[] algList={
  11. "R U R' U' R' F R2 U' R' U' R U R' F'",
  12. "(y2) L' U' L U L F' L2 U L U L' U' L F",
  13. "F R U' R' U R U R2 F' R U R U' R'",
  14. "(y2) B L U' L' U L U L2 B' L U L U' L'",
  15. "L2 U' L2 D F2 R2 U R2 D' F2 U",
  16. "R2 U' R2 D B2 L2 U L2 D' B2 U",
  17. "R2' u' R2 U R2' (y) R2 u R2' U' R2 U",
  18. "R2 U R2' U' R2 U' D R2' U' R2 U R2' D'",
  19. "U2 r' U2 r U2 (x) U2 r U2 r' U2 R (z')",
  20. "R U R' U' R2 D R' U' R' U' R U (z') U2 R' U (z)",
  21. "R2 U R2 U' R2 F2 U' F2 D R2 D'"};
  22. String[] ialgList=new String[algList.length];
  23. String[] moveArray={
  24. "U", "U'", "U2", "u", "u'", "u2",
  25. "R", "R'", "R2", "r", "r'", "r2",
  26. "F", "F'", "F2", "f", "f'", "f2",
  27. "D", "D'", "D2", "d", "d'", "d2",
  28. "B", "B'", "B2", "b", "b'", "b2",
  29. "L", "L'", "L2", "l", "l'", "l2",
  30.  
  31. "x", "x'", "x2",
  32. "y", "y'", "y2",
  33. "z", "z'", "z2",
  34.  
  35. "M", "M'", "M2",
  36. "E", "E'", "E2",
  37. "S", "S'", "S2"};
  38. List<String> moveList=Arrays.asList(moveArray);
  39. double[] moveCount={
  40. .09, .10, .15, .11, .12, .17,
  41. .08, .08, .14, .10, .11, .14,
  42. .13, .14, .19, .15, .17, .20,
  43. .11, .12, .17, .13, .14, .19,
  44. .17, .15, .22, .19, .17, .24,
  45. .13, .18, .22, .14, .19, .24,
  46.  
  47. .18, .18, .24,
  48. .18, .18, .24,
  49. .19, .19, .24,
  50.  
  51. .15, .11, .18,
  52. .22, .25, .28,
  53. .22, .25, .28};
  54.  
  55. SortedMap<Double, String> map = new TreeMap<Double, String>();
  56.  
  57. for(int x=0; x<algList.length; x++){
  58. ialgList[x] = algList[x].replace("(", "");
  59. ialgList[x] = ialgList[x].replace(")", "");
  60. ialgList[x] = ialgList[x].replace("2'", "2");
  61. ialgList[x] = ialgList[x].replace(" ", " ");
  62. String[] algFiltered = ialgList[x].split(" ");
  63. double t = 0;
  64. for(int y=0; y<algFiltered.length; y++){
  65. t+=moveCount[moveList.indexOf(algFiltered[y])];
  66. }
  67. map.put(t, algList[x]);
  68. }
  69. Iterator<Double> iterator = map.keySet().iterator();
  70. while (iterator.hasNext()) {
  71. Object key = iterator.next();
  72. double time = 0;
  73. DecimalFormat df = new DecimalFormat("#.##");
  74. time = Double.valueOf(df.format(key));
  75. System.out.println(time + ": " + map.get(key));
  76. }
  77. }
  78. }
Success #stdin #stdout 0.07s 213440KB
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'