Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package aoc_5.pkg1;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Arrays;
- public class AOC_51 {
- public static void main(String[] args) {
- ArrayList<Integer> testNums = new ArrayList<Integer>();
- //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};
- 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));
- int inputVal = 1;
- outerloop:
- while (true) {
- for (int i = 0; i < inputArrayList.size(); i+=0) {
- if (inputArrayList.get(i) == 99) {
- System.out.println("BROKE THE LOOP");
- break outerloop;
- }
- else if (inputArrayList.get(i) == 1) {
- int added = inputArrayList.get(inputArrayList.get(i+1))+inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), added);
- i+=4;
- }
- else if (inputArrayList.get(i) == 2) {
- int multiplied = inputArrayList.get(inputArrayList.get(i+1))*inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), multiplied);
- i+=4;
- }
- else if (inputArrayList.get(i) == 3) {
- inputArrayList.set(inputArrayList.get(i+1), inputVal);
- i+=2;
- }
- else if (inputArrayList.get(i) == 4) {
- System.out.println(inputArrayList.get(inputArrayList.get(i+1)));
- i+=2;
- }
- 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) {
- int code = inputArrayList.get(i);
- //int one=(n/1)%10;
- //int tens= (n/10)%10;
- //int hundred = (n/100)%10;
- if ((code/1)%10 == 1) {
- if (Integer.toString(code).length() == 3) {
- //Must be 001-01
- //The 1 is immediate then the 0 is not
- int combinationVal = inputArrayList.get(i+1) + inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- else if (Integer.toString(code).length() == 4) {
- //011-01 or 010-01
- if (code == 1101) {
- int combinationVal = inputArrayList.get(inputArrayList.get(i+1)) + inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- else if (code == 1001) {
- int combinationVal = inputArrayList.get(i+2) + inputArrayList.get(inputArrayList.get(i+1));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- }
- i+=4;
- }
- else if ((code/1)%10 == 2) {
- if (Integer.toString(code).length() == 3) {
- //Must be 001-02
- //The 1 is immediate then the 0 is not
- int combinationVal = inputArrayList.get(i+1) * inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- else if (Integer.toString(code).length() == 4) {
- //011-02 or 010-02
- if (code == 1102) {
- int combinationVal = inputArrayList.get(inputArrayList.get(i+1)) * inputArrayList.get(inputArrayList.get(i+2));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- else if (code == 1002) {
- int combinationVal = inputArrayList.get(i+2) * inputArrayList.get(inputArrayList.get(i+1));
- inputArrayList.set(inputArrayList.get(i+3), combinationVal);
- }
- }
- i+=4;
- }
- else if ((code/1)%10 == 4) {
- if (code == 104) {
- System.out.println(inputArrayList.get(i+1));
- }
- i+=2;
- }
- }
- else {
- System.out.println("Something went wrong");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement