Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.84 KB | None | 0 0
  1. package aoc_5.pkg1;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6.  
  7. public class AOC_51 {
  8.  
  9. public static void main(String[] args) {
  10.  
  11. ArrayList<Integer> testNums = new ArrayList<Integer>();
  12. //Integer[] Arrays = {1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,1,9,19,1,5,19,23,1,6,23,27,1,27,10,31,1,31,5,35,2,10,35,39,1,9,39,43,1,43,5,47,1,47,6,51,2,51,6,55,1,13,55,59,2,6,59,63,1,63,5,67,2,10,67,71,1,9,71,75,1,75,13,79,1,10,79,83,2,83,13,87,1,87,6,91,1,5,91,95,2,95,9,99,1,5,99,103,1,103,6,107,2,107,13,111,1,111,10,115,2,10,115,119,1,9,119,123,1,123,9,127,1,13,127,131,2,10,131,135,1,135,5,139,1,2,139,143,1,143,5,0,99,2,0,14,0};
  13. ArrayList<Integer> inputArrayList = new ArrayList<>(Arrays.asList(3,225,1,225,6,6,1100,1,238,225,104,0,1102,72,20,224,1001,224,-1440,224,4,224,102,8,223,223,1001,224,5,224,1,224,223,223,1002,147,33,224,101,-3036,224,224,4,224,102,8,223,223,1001,224,5,224,1,224,223,223,1102,32,90,225,101,65,87,224,101,-85,224,224,4,224,1002,223,8,223,101,4,224,224,1,223,224,223,1102,33,92,225,1102,20,52,225,1101,76,89,225,1,117,122,224,101,-78,224,224,4,224,102,8,223,223,101,1,224,224,1,223,224,223,1102,54,22,225,1102,5,24,225,102,50,84,224,101,-4600,224,224,4,224,1002,223,8,223,101,3,224,224,1,223,224,223,1102,92,64,225,1101,42,83,224,101,-125,224,224,4,224,102,8,223,223,101,5,224,224,1,224,223,223,2,58,195,224,1001,224,-6840,224,4,224,102,8,223,223,101,1,224,224,1,223,224,223,1101,76,48,225,1001,92,65,224,1001,224,-154,224,4,224,1002,223,8,223,101,5,224,224,1,223,224,223,4,223,99,0,0,0,677,0,0,0,0,0,0,0,0,0,0,0,1105,0,99999,1105,227,247,1105,1,99999,1005,227,99999,1005,0,256,1105,1,99999,1106,227,99999,1106,0,265,1105,1,99999,1006,0,99999,1006,227,274,1105,1,99999,1105,1,280,1105,1,99999,1,225,225,225,1101,294,0,0,105,1,0,1105,1,99999,1106,0,300,1105,1,99999,1,225,225,225,1101,314,0,0,106,0,0,1105,1,99999,1107,677,226,224,1002,223,2,223,1005,224,329,101,1,223,223,7,677,226,224,102,2,223,223,1005,224,344,1001,223,1,223,1107,226,226,224,1002,223,2,223,1006,224,359,1001,223,1,223,8,226,226,224,1002,223,2,223,1006,224,374,101,1,223,223,108,226,226,224,102,2,223,223,1005,224,389,1001,223,1,223,1008,226,226,224,1002,223,2,223,1005,224,404,101,1,223,223,1107,226,677,224,1002,223,2,223,1006,224,419,101,1,223,223,1008,226,677,224,1002,223,2,223,1006,224,434,101,1,223,223,108,677,677,224,1002,223,2,223,1006,224,449,101,1,223,223,1108,677,226,224,102,2,223,223,1006,224,464,1001,223,1,223,107,677,677,224,102,2,223,223,1005,224,479,101,1,223,223,7,226,677,224,1002,223,2,223,1006,224,494,1001,223,1,223,7,677,677,224,102,2,223,223,1006,224,509,101,1,223,223,107,226,677,224,1002,223,2,223,1006,224,524,1001,223,1,223,1007,226,226,224,102,2,223,223,1006,224,539,1001,223,1,223,108,677,226,224,102,2,223,223,1005,224,554,101,1,223,223,1007,677,677,224,102,2,223,223,1006,224,569,101,1,223,223,8,677,226,224,102,2,223,223,1006,224,584,1001,223,1,223,1008,677,677,224,1002,223,2,223,1006,224,599,1001,223,1,223,1007,677,226,224,1002,223,2,223,1005,224,614,101,1,223,223,1108,226,677,224,1002,223,2,223,1005,224,629,101,1,223,223,1108,677,677,224,1002,223,2,223,1005,224,644,1001,223,1,223,8,226,677,224,1002,223,2,223,1006,224,659,101,1,223,223,107,226,226,224,102,2,223,223,1005,224,674,101,1,223,223,4,223,99,226));
  14. int inputVal = 1;
  15.  
  16. outerloop:
  17. while (true) {
  18. for (int i = 0; i < inputArrayList.size(); i+=0) {
  19. if (inputArrayList.get(i) == 99) {
  20. System.out.println("BROKE THE LOOP");
  21. break outerloop;
  22. }
  23. else if (inputArrayList.get(i) == 1) {
  24. int added = inputArrayList.get(inputArrayList.get(i+1))+inputArrayList.get(inputArrayList.get(i+2));
  25. inputArrayList.set(inputArrayList.get(i+3), added);
  26. i+=4;
  27. }
  28. else if (inputArrayList.get(i) == 2) {
  29. int multiplied = inputArrayList.get(inputArrayList.get(i+1))*inputArrayList.get(inputArrayList.get(i+2));
  30. inputArrayList.set(inputArrayList.get(i+3), multiplied);
  31. i+=4;
  32. }
  33. else if (inputArrayList.get(i) == 3) {
  34. inputArrayList.set(inputArrayList.get(i+1), inputVal);
  35. i+=2;
  36. }
  37. else if (inputArrayList.get(i) == 4) {
  38. System.out.println(inputArrayList.get(inputArrayList.get(i+1)));
  39. i+=2;
  40. }
  41. else if (inputArrayList.get(i) == 101 || inputArrayList.get(i) == 1101 || inputArrayList.get(i) == 1001 || inputArrayList.get(i) == 102 || inputArrayList.get(i) == 1102 || inputArrayList.get(i) == 1002 || inputArrayList.get(i) == 104) {
  42. int code = inputArrayList.get(i);
  43. //int one=(n/1)%10;
  44. //int tens= (n/10)%10;
  45. //int hundred = (n/100)%10;
  46. if ((code/1)%10 == 1) {
  47. if (Integer.toString(code).length() == 3) {
  48. //Must be 001-01
  49. //The 1 is immediate then the 0 is not
  50. int combinationVal = inputArrayList.get(i+1) + inputArrayList.get(inputArrayList.get(i+2));
  51. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  52. }
  53. else if (Integer.toString(code).length() == 4) {
  54. //011-01 or 010-01
  55. if (code == 1101) {
  56. int combinationVal = inputArrayList.get(inputArrayList.get(i+1)) + inputArrayList.get(inputArrayList.get(i+2));
  57. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  58. }
  59. else if (code == 1001) {
  60. int combinationVal = inputArrayList.get(i+2) + inputArrayList.get(inputArrayList.get(i+1));
  61. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  62. }
  63. }
  64. i+=4;
  65. }
  66. else if ((code/1)%10 == 2) {
  67. if (Integer.toString(code).length() == 3) {
  68. //Must be 001-02
  69. //The 1 is immediate then the 0 is not
  70. int combinationVal = inputArrayList.get(i+1) * inputArrayList.get(inputArrayList.get(i+2));
  71. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  72. }
  73. else if (Integer.toString(code).length() == 4) {
  74. //011-02 or 010-02
  75. if (code == 1102) {
  76. int combinationVal = inputArrayList.get(inputArrayList.get(i+1)) * inputArrayList.get(inputArrayList.get(i+2));
  77. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  78. }
  79. else if (code == 1002) {
  80. int combinationVal = inputArrayList.get(i+2) * inputArrayList.get(inputArrayList.get(i+1));
  81. inputArrayList.set(inputArrayList.get(i+3), combinationVal);
  82. }
  83. }
  84. i+=4;
  85. }
  86. else if ((code/1)%10 == 4) {
  87. if (code == 104) {
  88. System.out.println(inputArrayList.get(i+1));
  89. }
  90. i+=2;
  91. }
  92. }
  93. else {
  94. System.out.println("Something went wrong");
  95. }
  96. }
  97. }
  98. }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement