Part 1 complete!

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent 0b1f29bfe9
commit 7d5ddcd603
  1. BIN
      C++ProjectTemplate
  2. 449
      input.day_13.txt
  3. 107
      main.cpp
  4. 2651
      out
  5. 137
      part1

Binary file not shown.

@ -0,0 +1,449 @@
[[8,6,[],2],[7],[8,0,[7,0],[[5,6],10,[10]]],[3,8,[],[[8,9],4]],[]]
[[3,[2,[9,4,4],1],[[3],[],[7,10,6,6],[8,6]]],[[8,5],[2,[],[7]]]]
[[[2,[5],[10,10]]],[2]]
[[7,10],[6,[[2,10,7,9,5],7,7,0],2,[[5,10]],[[9,1],[],[5,7,6],[2],[3]]],[[[5,0,10],2,8,[5,6,2,2,10],[9]],5,8,6,[]],[[[0],[2,1,2,1,0],[9,0],[0],[1,3,10,1]],[5,[8],[],8,[3,8,7,3]],[6,[3],7,[8,2],[]]]]
[[[[9,6,10,5,2],[0,10,6,8]],2,[[4,9,3],4],[9,[],0,[7,6,2],7]],[]]
[[6,[5],[],[9],[7,4,[6],10]],[[[6,3,6,4]],2,6],[3,[[9,0,6],[8,4,6],10],[3,0,5],[]],[[2,[2,5,3,7,1],5],[[8],[]]]]
[[],[4,[],0,[],6],[[[5],[4,3,6]],[[7,6],5],[[3,9],2],7],[4,[],2,[3,[],10]]]
[[[0,2],[6,[5,9,8],[1,8,1]]],[[[1,3,0],[],0,10],[6],3],[[[1,1,6,2,1]],9],[[[5,0,4],5,[1,2,5,10,2]],[[7,8,4],1]]]
[[1],[10,[10,4,[0]]],[[[7,6],[2,2,0,7],[10]]]]
[[[10,[5,8],[2,10,2],[],7],[2],1]]
[[[4,4,[7,4,5]],1,[[3],6,[6,7]],6]]
[[4],[[],[0]],[[[10,7,2,8],4],9,[],[[3,5,1],[]]],[[5,[]],[],[4,2],9,1]]
[[[],8,4],[[7,[5,4,8,8],4],7],[6],[2,0]]
[[[1,0,7,[5,3,5],[]],8,[[9,7],[],[],9,10],0],[[],1,0,[]]]
[[6,[],[5,3,7]],[7],[[[10],[5],9],7]]
[[[[4,3,10,8],4,[3,1,7],[0,8,0,5,6]],[[]]],[],[[3,[9]],[[7,0,6,9,7],8,[1,10,3],1],0]]
[[[9,[5,1,8],8,[4,2,0,4],4],[4,0],2],[1,[2],9],[[],9,5,[1],9],[[3,5],[[2,9,7,9],[4,9,7,9,6],0,[0,4,7]],5,[4,5,5]],[]]
[[[[],[]],3,0,6]]
[[10,5,4,2],[6,[[9,9,3,8,0]],5],[2,[0,9,[]]],[[],[1,10,4,[9,4],[]]],[[[5,7,9],[],[5,10]],[5,7]]]
[[],[10,6,9,9,0]]
[[],[7,[[6,0,6,7]],8,[4,[3],[5,8],5],10]]
[[[8,[4],[9,0,1,0,3],9,[5,1,10]],3],[[1,5,4,4],[[0,6,2,2],2,3,[0,3,6]],0,[[0,6],3,10]],[10,10,0,8,[[0],[5,9,5,1],[10,0,10,9]]],[5,2]]
[[[[7,0],[6,0,2,8,7],0],5,[[7],[6,0,5]]],[2,[[6,5,1,10],[2,0]],0],[[[8],9,[9,10,7],[0]]]]
[[[[7,10,2],10,10,[1,2],[5,7,2]],[7,3,[9,4,5,10,5],7],5,9],[1,1,[[4,0,10,6],[3,0],[2,7,2]]],[],[[4,8,0,5,[5,3,5,7,0]],6]]
[[],[]]
[[[[1],5,[1,10,1,4,1],[9,8]]],[4,[[0,3,0],[],[3,5],[9,1,0],2]],[[5,1,8,9,[5,6]],[6,2,5,8,[1]]],[]]
[[10,9,0,[9,5,1,[5,8,9,7]]],[4,[[],7,4]]]
[[[1],4,4,[[],[2],8,[6,2,6],[]],8],[[3,[],[1,6,6,4,9],[1,2,8,4,3]],[[],[0,9,9],[6,5],[0,6,3,3,2],3]],[[3],[5],2],[[],2,[[2,3,4,6],[1,7,8,10]]],[9,3]]
[[],[2,[5,8,[2,3,5,6,0],[8,4,9,7,1]],[[8,0],9,1,2,[2,5,0]],10]]
[[8,[],9,6],[4,2,10,[],9]]
[[10,8,[9],9,8],[[],0]]
[[1,[9,1,[6,8]],9,[[0],[7],[0,5,5],[3,5,10,7,3],[1,2,9]],8],[9,4,9,9],[4,3,[[2,6,7,4,7],[0,5,2],[2,0,2,7,6]],4],[[[9,2,9,4]],[5],[0,[7]]],[9,[[6],[3],[10,0],8,[]],[],1,8]]
[[[8,4],2,[[2],[9],[5,9,3,9],[5],[5,5]],2,4],[8,6,3,8],[1,[[7],[2,5,9,1],[2,0],[8,2,4,8]]],[1,4],[8,9,[7,5,4,[4,10,0,8]],[1,[10],8],8]]
[[[[2,2,8,10],7,0,10],7,2],[5,1,[4,5],[3,0,5,[0],1],[[2],[2,7,4,7],8,9]],[7,8,8,9],[[1,0,6,4],[[1,3,0],10,1,10,0],7,9,0],[]]
[[],[4,6,[[1,5,8,10],[],[7,0,3,10]]],[]]
[[[],4,4],[7,[],10,[[8],3,[8,1,5],[5,4]]],[[],[[1,4]],2,[[],7,5],3]]
[[[[5,7],10,9,[6,0],[4,9,6,7,1]],[]],[5,[[5]]],[[10,[]]],[4,[[0],3,[7,0,3],9,9]]]
[[[],[9],9,6],[],[2,6,5],[8,[8,[],[10,3,9],[9,6,8]],10],[[[1],[7,5,6,5,6]],7,[6,[],[]]]]
[[[[4,3,3],[],1],[[],5,9,0,2],[[6],[5]],[0,4,0,6],10]]
[[],[3,[[7,1],[8],[10],[7,0],[7]]]]
[[[],[5],[1,6,1,4,[5,9]],0],[5,[[6]],[[0,3,5],[3,4,4,7]]],[[3],[[4,2,9,0,0],[5]],[],2,9],[6,0]]
[[],[10]]
[[8,[],[[7,0],[6,6,8,9,9]],0],[[[10],[6,1,1,8,6],6],5,4,[]]]
[[3,3,1,[8,10],1],[10,7,[[],7,0,7,4]],[0],[],[]]
[[8,10],[[[2,7,7,1],[8,4],3],[[10,4]],[6,8,[0],5,[4,2,2,4,1]],4,[[9],6,[1,8,3],8]],[[0,[1,8,10],[5,4,8]]]]
[[3,[10,[2,6],0,[0,4,10]],9],[0,[[],[10,1,3,8,9]],8]]
[[0],[[]],[4],[5,[10,[4,3,5,6],5,[4,0,1,3,7]],2]]
[[6,2,3]]
[[[]],[2,2,[1,5,4,[8,8]]],[10,[6,[0,6,1]]],[0,9,3,[[1,5,4,0,4],8,0]],[2,3,[1],6,[]]]
[[],[[[6,5,6,0,6],[1],4],8,[1,[4,6,10],[10,6,7,9],1,[1]]]]
[[[6],[],4,[5,8],0],[7,[5],9],[10,6,[[5,3,9,8,2]],[4]],[],[[[],8,2,[8]],[[8],[0,4],8,0],4,6]]
[[[[3,2,7,7,9],3,[10,5,10,9,3]]],[[5,[8,7,1]],[[9,9,8,10],9,0,[7,5,2],8]],[8,[5,[2,1,10,2],7,5,5],[4],0],[[[8,3,4,1,7],3,3,9],[]],[5,[[10,2,5],[7,2,6,10,10],8,3,0],[],8,[7,[7,1,4,2,8]]]]
[[[7,[]],1,8,3],[[[],8,[4,7,10,0],[9,8,0,3,3],9],[0],8,[[],5,[3,0,5,5],1,4],4],[1,[[],0,2,10,[7,8,10,7,7]],[[3],[7,9,10,8]],8,10],[[7,[2,1,10,3],[9,10,3,5,5]],[10],8,[[7,0,8],7,5,[],[7]],[[8,3],[1,4],[0,6],7]],[5]]
[[[3,9,9,1,7],7,[6]]]
[[[[3,1,2,9],10],4,[],1,[9,10]],[[[2,0,8,9,4],3,8]],[7,1,[5,9],[]]]
[[9,[4,[3,7,7,10]]],[9,[9,2,7,[3]]]]
[[10,[[],9],9,[8,[8,2,7,2,0]],[[1,3],[5,6,9,3],3,8]],[6,10,9,5,9]]
[[6,[[0],[7,3,1,0]],1,5],[[[],[],5,[10,0],8],[[6,6,2,5],[2,2,9,4,2],3,[7],5],[],[[8],[0,10],1]],[],[4,10,[[7],[10,5,3,1],10,0],[]],[0,[0,[4,1],[10,0,0,8],3,7],[]]]
[[3,2],[[5,[],6,8,3],5,[[1,3],6,8,[3,2,7,9,3],5],4,3],[10],[0,4,[],0,10],[7,8,8,2]]
[[[10,[],[5,9],9,8],[0,2]]]
[[9,10,4,3]]
[[[]],[7,[[2,7,3,8]],[9,6]],[6,2,6],[[9],[10,[]],[[1,0,4,9],[2,7,7,9],8,[4]]],[9,[],[3,[6,10,0,4],[]],[[2,6,7,1,6],[9,4,9],0,[4],[2,0,8,6]]]]
[[[1,[6,6,1]],[[5,2,10],10,[8]],[]],[[[4,5],[10,9],3,4,5],[[2,3,6]]],[[[0],[]]],[10,[1,[3,1,5,3,6],[10,8,0,2,0],0,7],[[3,2,8],9,10,[6,0,2],[6,6]],[[3,3,7],10,[0,5,2],[10]]],[]]
[[4,3]]
[[7],[5,[[3,8,9],[1],5],[[7,4],6,[],0],[1,8,[1,5,9]]],[],[[[8,1,8,8,8],5,0,6],5,5,4]]
[[7,[[4,6,4,2],[0]],[]]]
[[[[],5,[6,6,4,1,7],2]],[[1,0,[9,9,2]],8,[2,[0,0,5,7,8],1,9],6],[[4],7,[5,[]]],[[[9]],0,[],[[5,6,1,4,7],3,[3],[4,1,6,6],4]]]
[[[1,[9,4],[6,4,7,6],6],8,6,6],[[[7,7]]],[[8],9]]
[[8,[6],[[8,5,5],7,8]],[[9,[0,9]],8,9,6],[[[0,3,5,5],4,[6,2],6,[0,0,10]],8,4],[[],[1,7,[4,6,0,0]],[10,4,[6,8,10,3,8]]],[[9,[9,4,1,2],[9]]]]
[[10,[[2]],8],[6,9],[1,6,9],[[[],[10,6,10,7,9]],[5,6,10]]]
[[3,6],[[[2],8,[],10,4],8,6,7,9]]
[[10,[6,[10,7,2],9,[6,9,9]],[[9,4,0,0,4]],0,3],[2,[[4,3,10]],[5]]]
[[[],[[],7],[],[7]],[],[9,5]]
[[[[],[6,1,7,6,2],8],[],10,10,7],[[3,9,7,7,1]],[3,9],[10]]
[[0,[10,4,[7],7]],[[],[[0,7,5],[8,8,5,2],[4,8,2]],[[8,1,4,6],6,[],7,[6,6,4,10,1]],1],[[7,[0,4],4,3],[9],[[7,1,2,6,0]]],[]]
[[9],[8,[[1,1]]]]
[[[6,8,[9,10,8]],9,[2,[],2,[4,0,5,5,2]],[7,6,3]],[2,[[3,3,2,9,5],2,[],[]]],[4,[[10,1,4,8,8]]],[[9,10],8,[[],7,[],6,[3,4,2,8]],1]]
[[[0,[],[10,4,7,5],[8,4,2,1,7]],3,[[6,10,5,5,8],3,[]]],[],[[],[[],[9,2,9],[],4,[4]],9],[[9,[10,4,5,6],8],[[5,0,5,6,9],[6,7,5]],6,[[8,6,10],[7,7,5]]]]
[[1],[[[2,1,0,9],3],[[3,5]],[[6,0],[1,4,0,8],[2],3]],[[[0,3,9,7],9,5,4,[6,7,3]],1,4,4,[[5],[4,0,1],0,[2,6,0]]],[[7,9,1,[10,5]],0,[]],[[3,[],10,0,[4]],[6,[4],5],4]]
[[],[[0],[[10,6,10,1,10]],[6,[],[],9,[2,2,1]]],[[],10,2,[[0,4,6,1,6]]],[8]]
[[[[10,0,10],[5,0,1],[8,3,5,2,2],[7,8,8,7,7]],[[]],[[],2,[2,5,6]],[],[3,[],3,[8,4,1,4,8],[5,4,0,0,1]]],[[6,1,[1,10],4],5,6,[]],[[[2,7,2],3],6,[[3],4,7],[[7,5,5]]]]
[[8,3,[3,4,[2,3,8]],3,[[0,9,5,0],4]]]
[[5,[[],0],0,[[1,4,7,7,0]],[8,6,9,0,[3,1,8,6,8]]]]
[[[],8],[[8,4],1],[[7,3,7],9,[[9],2,[8]],[[],7]],[]]
[[[]],[9,0,7,[[]]]]
[[3,[],[[7,4,3,9]]],[2]]
[[[1,7,10,[0,8,0,4]],[],0],[0,[7,8],9,3],[2,[[1,6,8,0,8],[1,1,6,10,10],9,[1,3]],[]],[],[8,9,[[],[0],[],0]]]
[[[[10,8,9,10],[9,1,2,1],[8,8,4,3],7,[8]]],[[],3,[2,[4,3,7,7]]],[[[1,0,4,5],8,2,[1,10],[0,5,9]],[[1,6,5,7],5,[]],4,[2,4,5,2,2],[1,[6,4,1,2],5]],[1],[[0,1,10,[4,8,6]],5]]
[[[[],4,9,1,[8,4,8,9]],[1,[10],[5,1,0,0],[8],[7,10,10,7]]],[7,7],[[[5,4,10,3,8]],[[],4,[7,1]],5,[9,[],8,8,[7,9]],1]]
[[9,[4,0]],[0,[]],[10,[[5,7]],[4,[]],6,9],[],[8,[6],9,[3,[0]],10]]
[[7],[6,[],8],[1,[[1,10,4],[3,0,1,8],0],10,[8,5,5,10,[7,8,8]]]]
[[10,3,[],[[1,8,10,5],3,6],6],[[[6,1,1,3,9],[7,10,8,1,3]],[],10],[[7,0,[5,8,3,5,3],[7]],[],[1,8]],[7],[8,0]]
[[5,[7,[7,4]],[7,3,4,[9,4],[3,4,6,2]],[[2,6,8],[6],[4,7,8,3,10],[3,1,7,2]]],[[[1,0],[0],8,[9,10,4],[4,5]],[1,0],[],[[3,2,3,0],5]],[0,1,[3],[],1]]
[[10,2,[1,[],7],[5,[6,5,1,8],7],10],[2,5],[6,[[9,6,5,8,7],7,[2],0],[10,[9,6,3,6]],8,2],[[]]]
[[[7,1,4],5,[9,8,1,4,9],6],[[5,[3,4,1,7],9],[7,2]],[[[],3,[],5],7,[[0,1,7,0,7],[]],0],[[[8,3,0,4,8]],[],10,4]]
[[9,4,5],[0],[9,[[]],8,[4,6],[]],[0,[[],[2,2,0,4,0],1,[1,6]],[5,1,[8,10]],8,[7,7,9,[4,2,10,7],2]]]
[[[[],9]],[5,5,3,[]],[[9,[3,1,4,3]]],[7,[[],[9],[4,2,4],2],3,[10,[0,6,3,3],[]]],[]]
[[9,7,[8,[],[9],3,[5,7,3]],[1,[7,4,9,2],3,6],2],[5,10,4,4,6],[]]
[[2,[10,[3,1]],[0,[4,7,3,3],[7,5,9,6],[0,4],[0,0,3]]],[[[8,9,5,1],8,[2,6,6],[2,10,3,7,3]],[[4]]],[[3,[0,0,9]],7,[0],[[],[2,4,0,4],[8,5,6,0,8],[6,2,2],[9,0,6,1]],8],[0,10,0]]
[[5],[7,5,10,[[3,6,6],7,4,[4]]],[2],[[[7],[9,5,1],9,8],0,[6,3]]]
[[[[4,1,5,10],2,0,9,[6,9]],1,[7,[4,4],10,2]],[10,[7,[],9],[],[],[1]]]
[[8,[[],[8,0,1],5],10]]
[[],[6,7]]
[[[],[],[5,[]],[10],9],[9,[10,[6,4,9],10],6,10,[[],1,[7,4,3,8],10]],[[9,5],3,10,5]]
[[[[7,10,10,7]],9,[3,7,[6,5,6,8,0]]],[[[7,3,10],0,1],[]],[3,[[3],4,9,[2,3,0,4],[3]],0]]
[[[[9,5],[]],4,[[3,0,6],2,[2,1],[8],7],2],[[3],[6,[8],1],[[4,2,10,6,2],[6,0],10,2]],[6,[8,[0,10,3]]],[[5],10]]
[[[[7,5,4]]],[[[7],[5,5,9,1],[]]],[3,[1,[],[2,8,9],[7,10,1,9],2],[[]],0]]
[[[[0,3,7,2],[1]],[0,1],[[],5],[]]]
[[10,[]],[10,[[],[]],[],[[7,1,10,9],7,7,8]],[2]]
[[[2,1,6,9,7]],[[[4],6,[8,10,0,2]],[[10],5,[4,7,1],4],4,5,7],[1,[[0,1,9,8],[6,9,6],[5,1,7],[7,7,3,8,7]],5],[]]
[[]]
[[10,[5,[]],[[],5,[6,0]],9],[],[5,4,1],[[[6,10],[],[3]],5,[2,6,[9,7,8,9,10],9]],[]]
[[],[[[7,3,1,10,5],3,10,[1],[10,9,6,5]]]]
[[[[2,8,8]],[[7],9],[1,2]],[3,10,2,4,10]]
[[[6,[2],1],[0],2],[0,[],[[9,7,10,10,7],[],[],5],3,[[]]],[6,[10,[6,5]]],[[[8,4,3,2],10,[3,7],1,5]]]
[[7,[[0,5,9,0,9]],10,[3,[]]],[],[5,8,4],[[4,6,[5,8,9,4,1],[]],5,10,5,7],[10,6,1]]
[[0,7],[5,[7,[1,2],[7,8,9],8],[0],7,3],[]]
[[[[7,2,9,9,10],[3,3]],[[7,9]],[]]]
[[[0,6],[3],[],[6,9,[10]]]]
[[3,4,[[3,2,2],[10,1],[9,2,6]],[[7],9,[1,7],[]]]]
[[4,[6,7]],[2,2,[[3,9,5,9],7,[],[6,3,6]],6,[6,[1,4,9],1,8]]]
[[0,9,[7],[0,9,[]],1],[8],[],[],[[[0,2,0,0,2],[3],[]],7,[4,8,[0,7,4,7,2]],3,1]]
[[],[5,[[4,7,4,3],[2,8,7],[3,3,8,9,0]],[[1],[8,5],6,[6,1,4,5,8],[3,5,3,9,0]],7,[[9,5,0]]]]
[[],[[[8],2,10],[9,9,6,[6,6,3]],5,[[3],7,7,1]],[7,5],[],[]]
[[],[1,8,1],[8,6,4,[[1,6],7,[],[6,8],7]],[[1,[4,4],6],[[],4],[0,[1,1,5],7]]]
[[[[9]],0],[],[[],8],[[9,[6,5],10,1],[1,1,[5,4,5,9],[0],5]]]
[[[8,[9,3,2,3],9,7]],[[2,[]],10,[]],[],[[4,[9],[3,8,6,4,0],[1,10,5,7,5]],[6,4,[4,7],[3,8,0],1],1,9],[[[6],[5,9,4,6,3]],5,[6,[6],[10,6]]]]
[[5,8,8,0],[[[5,3],3]],[10,8,8]]
[[[],5,[1,[10],9],2]]
[[[1,0],6],[6,9,4,5,[3]],[[[0,6,10]],[[1],7,10,[3,5,10,2],0],[9,[3,2],10],[4,[6,0,3,3,5],[6,8,4],[9]],1],[[[1,1],0],4,7,[],0],[[],[[8,3],3,[10,2]],9,5,[[1,3,6,4,8],[3],[6]]]]
[[[[],[5,0,10],8],[],4],[]]
[[2,[[2,10,8],6,6,[8,7,10,9,6],[4]],0],[[[3,8,0,0,7],[],9,6,[]],[6],[[5,2,5,7,10],[2],[2,1,6],5,[]]],[[10],9]]
[[[],6,[],[[8],[3,0,3,9,5],[6,9,0,4,7],[]],3],[8,4,[[6,10,3,10],[5,10],[],8,7]],[[2],[3,6]]]
[[[]],[[[]],3],[[2,9],[],[[1,2,8]]]]
[[],[6,9,[[6],4],9,[[]]]]
[[5,[[],10],8,[4,6,[8,5,8],[],0]],[9,[[1],[9]],[0,[5,0]],[2,[6]],1],[[5,0]]]
[[],[[]],[6]]
[[[[9],2,[],2],8],[9,7,[[9,3,2,5],3,[8,4,0],[9,2,10,3,6],[4,1,9]],[5,[1,2,3]],[2,[6,9,1,5]]],[5,[2,0,5,9]],[10,9,[]],[[[0,1,10,6,7],[0,4]],[[1,6,7,6],[0,2,10,3],9,[5],6],8]]
[[10,9,9,[2,[7,3,4]],4],[],[[1,4,10,[10,10,0,1,2],9],9,8,[[8,10,6,6,3]]],[],[]]
[[9,2],[[10,0,8],[[7,0,9],7,[]],[7,3]],[2,1,[[4,9,3,0]],7,[[5,4,10,3,6],[6,0,8],3]],[2,8]]
[[0,10,[],6],[8,[8]],[4,9,0,0]]
[[10,10,6,[9]],[],[0,[4,8,8,0]]]
[[],[[],7,[8]],[6,3,[4,5],[0]],[1,[2,4,9,6],6,[0,[0,6],[6,2]],10],[]]
[[[1,5,[3,2,5],[4,5,5,7]],[[2,8,3],10,[0,9,9,0],[2]]]]
[8,1,8,7]
[8,1,8,7,0]
[[[[3],[2,7,6],[2,1],3],[[2,0,1,2,9],[8,6,4,8]],10,[],[[9],[6],[7,7]]],[9]]
[[[1,[10,10,5],6],[]]]
[[9,[]],[[[8,1,9,8,6],[7,1,7,0],1,[2,9,5,4,7],[10,6,8,2,3]],9,[1,0,[9,4],3],[[6],6,6,[10,1,0,4,5],[6]],[5,10,8,9,6]],[[[7,4,9,1,5]],8,[],8]]
[[[]],[],[[1,[],9,6,[0]],1,[3,5,6,[0,10,7],6],4,8]]
[[[[7,8,5,9,1],[9,4,5,2,4],[9,9,5],[0],[7,6]],[6,9,6,6],[5,9,[]],[5,1,[6,10,9,5],6]],[],[],[3,5]]
[[5,[],[9,9]],[[[0,10,10,7,9],10,6,[9,5,4,9,7],[0,5]]],[6,6,8,[],6]]
[[[[],[2,3,1,10,7]],[[],[1],[6,3,3]]],[],[],[[[10,4,10],5],9,[],10,[[9,5,8],7,[3,3,1]]]]
[[0,0,[[8]],6],[2,[2,6,1,[],[0,1,0]],[[],8,9],2,8]]
[[[],[0,7,[6,8]]],[7,3],[5,[[5,3,1,4,7]],[[5,10,5,7]],9],[8,3,[[0,3,0,5]],[[1,4],1,3],1],[1,[[9],[8,4,1,1],0],4]]
[[[1],[[6],0,[6,0,4,0,3],[9],6]],[[6],[2,[4],[4,9,9]],0,[]]]
[[7,[3,0],[]]]
[[1,[],[],9,10],[[[8,9,4,7]],6,[9],[6,[10,0,3,6,10],[3],9,[0,4,8]],6],[[2,[4,9,2,9],[5,2,10],8,[1]],8,0,[[2,8],4]],[[1,4],9,[[]],[7,6,8],3]]
[[8],[]]
[[4],[5,[[6],[1,2,0,8],0,9]],[],[],[]]
[[[5,3],5,3],[5,0,[4],10,3],[10,5,[10,7,7],9],[[],6,[[0,9,1,3],[7,5,2],[1,7],0,9],1,10]]
[[5,[[1],10,0,[5,1,3,3],[8]],[[1],[5,1],[6,2,6,6,10],[1,2,9,5,7],[8,0,2]],[0,7,[4,5],3,0],[10,[2,3,3,6,10],[10,7]]],[[[],[0,6,5],[9,1,8,2],[]],8,9,0,1],[3,2,[6,0,4]],[],[9,[[1]],[[4,9,0],[8,6,9,9,6],[3,9]]]]
[[0,[[10],[]],2,[[9,10,9,7],1,5,1,2]],[2,[]],[3,10,8,0,9],[[8,[7,10,1,0,1],10,5],[0],[[],5,[8,3],6],4]]
[[5],[],[[[5,6,8,10]]],[],[[2,4],[[10],10,[5,10,5,8,4]],[],8,10]]
[[],[],[[10],[[10,3],[1,9],7]],[9,[[9,0,6],[],[7,2,8,2,1],[0,0,2,2]],6,[]]]
[[6,9,[],[2,[],[5,6]],6]]
[[9],[[[7],[3,8,2,9],9]],[[5,1,[9,5,6,5,4],6]]]
[[[10,5],8,[6,5,0],[],[]]]
[[[3],7,1],[6,4,[0,4],[[8],9,5],7],[[[]],2,2,5]]
[[3,1,2],[[4,6],[],5,5],[[8,[10,9],[4,10,0,4],[]],[2,[3,7,10]]]]
[[[2],[[9,10,8,0],[]],[[]]],[1]]
[[0,[2,3,9,1,[10,5,7,2]],4],[[10,0,5,[0,7,9,1,3]],[],[]]]
[[4,[],1,[10,6,9,[7],6]],[[[7],[2,4,10,7,9]],[4,[2,3]],[[2,4,8],[2,10],[6,2,7,1,5]],[0,[2,9,0,4,2],[10,5,9,4]]],[[[2,4,1,10,0],9,[10],[5,3]]],[[[],4,[1]],[[2,0,2,2]],9,0,[]],[[[6,1,7,5,1]]]]
[[],[[[2]],[[6,8],[4,10,3],[9,5,0,7],[3]]]]
[[[[5,7,7,7],6,[7,2],[7,0],9],[[9],[6,6,7,6,3],[0,5]],[10,5,[]],0,[9,[8,3,1,7,8],[8,9,3,2,8],[],[3,9,1,2,4]]],[[[3,0,5,9],9,0,[10,4,8,6]]],[1,1,[9,0],7]]
[[1,[[5],[]]],[6,1],[[[],0,[],3,9],[5,7,6,[5,5,2]],[[0],4],6,[4,[],2,7]]]
[[[6,[5,3,0,6,0],[],[9],8],0,[9,[9]]],[7,[[7,7,7,10,7],5,[6,10],[8,10],6]],[],[3],[[9,[3,7,9],[4]]]]
[[[[5,3,4],0,[6,5,4,7,10],6,[7,4,7,5]],[10,10],[[3,5,10],1,3,[6]],[[5,4,0,9,6],1,[0,4,3,1],8,[9,8,4,10,3]]],[[]]]
[[4],[[[5,5],[],8,[8,1,6,0,7],[7,9,10,4,10]],[[3,8,7,5,1],[10,9],1,4,8],[],7,[8,[9,0,6,6,4],2,5]],[[6,8,[5,2,3,5,3],[]],7,9,[[9],6,4,[4,2,5]],[7,0,[6,6,0],10]]]
[[0,6,[[2,2,4],1],0,[1]],[[6,[5,0],6,3,9],[3,4,[5,8],8],7],[[]],[[5,3,0,3,5],10,6,[[2],[3,8,7],3]],[2,1]]
[[[2,10,8,1],4],[],[],[],[1,[0,0],[5,[9,2],[3,5,2,9,9],4,7],[[3,9,10],2,7,6,[]]]]
[[],[10,2],[8,[]],[]]
[[[[7],6],3,3,[[0,10,1,1],[1,8,8],[5]],[8]]]
[[5,8,[],[6,[4,0,1]],[]],[9,5,5,5]]
[[[[10,3],[6,7]],[[],[3,1,5],2],0,[8,[1,1,6,1],9,[5,8,0],3]]]
[[[10,10,10]],[4,[]],[6,0],[5,[6,[6,0,7,9],3],[[9,0,2,3,1],[1,7,2,7],[4,8,5,7],0],[],7],[4]]
[[[1,4,[2,2,9,10,4]],[[4,7,4,2,6]],10,[]],[[[5]],1,6,9,[2]],[[],[],[1,[10,4],[10,6,4,0,8]],6],[9,[],[[9,2,7,0],7,[5,2,1,0],2],9],[1]]
[[5,[[],5,[1,1,0,6],0,[3,7]],[9,6,1,[10,2,0,9]],[5],[[5,5],2,2,3,6]],[],[]]
[[4],[10,7,0,9],[[[],[7,8,10,10],[8,7,2,10],[7,8],7]]]
[[1],[9,5,[6,[9]],[[10,4,4,4,7]]],[[6,[5,0,1],[2,0,0,1],0]],[[],[1,[4,5,5,1,2],[]],[6,2,1]]]
[[],[9]]
[[[[]],5,10],[[[4,1,9,10],[5,3]],10],[[[7,1,9],[3,5],8,5,[1,8,3]],0,[10,[]],8]]
[[],[[9,[2,7,4],[4,10],7,[2,3,1,8]],[3,8],[9,[5,0,2,6]],3,7],[],[]]
[[8,9],[7,5,[2],8]]
[[6],[1,3,[],9],[5,[1,6,[7,3,2,10]],[[]]],[[3]]]
[[[9,3,[9,4,3],[0,0,0],0],[3,0,[6,7,6,8]]],[[[9,10,4,4],[1,1,4,1],4,[1,3]],[],[3],[[9],7]],[9],[[1],[4,8]],[9,9,5,[[5,8,2]],[10]]]
[[[[8,9],3],[6,8],3],[[3,[4],5,[]]],[]]
[[],[3,[1,3,6,[3,0,3]],[[10,2,4,6],[9,4,4,6]]],[[[8],8,[4,0,9],6],0,[]],[8,[[7,0],[7,1,8,7]]],[[[7,4,10],[0,10,10,8,2],8,[5,6,7,9,10],[9,2,10,2,9]],5]]
[[],[],[2,4],[8,0,[[9,3,4,1,4],[5]]],[[],[[2]]]]
[[9,7,0,5,10]]
[[1,[],[[2,8,6],[1,3,10,4],[10,4,7],[9,8,8,7],[8,2,10,7,0]]],[[[8,3],10,[],[7]]],[[],[]],[9,10,[[8],10,4,[9,5]],[[3],[0,0],[6,2,1,10,2],3],[[6,8],10]],[2,[],[[6,9,4,5,10]],[9,[],[],[7,7,10,6,6],4]]]
[[1,1],[],[],[0,[1,[8,10,1,4],9],4,[0,[9,4],[8,9],[3,1,9]]]]
[[[[4,5,8,2,3],8,[7,9],1,9]],[10,7],[[5],[[8,0,3,2],0,7,1,2],5,[[0,9,4,5,3]]]]
[[7,[[8,10,2],0,[3,7]],8,[6,0,10],8],[5,[10,7,[0]],[5],9,9],[8],[1,[[6,2,10,0]],7],[10]]
[[[]],[[4,2,9]],[[],5,2]]
[[9,[[5,8]],9,9,4],[[9,7,[9,9,8,2],10],[],7,7,[]],[6,[[5,10,8],[3,5,8,5],4],[[7,6,4],0,3,[8,1,10,5],0],[],0],[[6,7,[],1,3],1,5,4],[[],[[8,3,1,9],10],[[0,10,10,1,4],[5,10,3,8,10],[1,3,6],[]]]]
[[],[],[],[9,4]]
[[[[]],4],[[6],[]],[[2,8,[8,5,2]],2,[6]],[]]
[[[3,10,[]],9,3,10,7]]
[[],[[]],[[[4,1,0,1],4,5],[[5,7,10,7,10],7,[10,4,0,5,6]],8],[0,[[10,6],8,5,[6],[]],[4],[[5],[5],7,10,10],1],[[5,10,0,0],[[9,1,3,6],[4]]]]
[[1,[[6,0],10,0,10,1],6,[],7],[7]]
[[0,[9,[9],[9]],7,[]],[[[4,2,1,9]],[7,10,6,[5,4]],[[],10,[],7]],[[1,[],1,7,5],[2,6,[],1,[6,1,8,1]],[[8],[8,3,6],[1,6]],[]],[0],[[],9]]
[[0],[2,8,[8,[5,9,6],4,[5,0,7]],[[9,8]],[]]]
[[[[9],7,6]],[[[2,5,6,4,9],[2,6,2,8,7],6,[]],5,5,[[7,7]]],[],[2,[[4,0,7,4],[9],[1],4,[4]],[[3,10,0,1]],8]]
[[10],[[[6,5]],10,5,[[2,9,5,7,6],[3],[10,9,7,9,9],[]]],[[0,5,7]]]
[[],[[0],[1,[6,6,3]],8,7],[1,[[10]],8,2]]
[[[[3,9,10,4]],[[4,4,6,2],[],[],[0,2,2,5],4],[5,9],[10,7,5,8]],[[[3],1,[8,0],[4,1],0],8],[0],[]]
[[5],[[[9,9,1],[6]],5,[],[[2,2,6],[9],[7],4],[[2,1,7,6,8],1,[9,6,10,10],0]],[[3],6,[]],[3],[[4,[],[9,0],5],[0,4],[4,10,[4,3,6],7],[]]]
[[[[7,8,9,8,0],2,[10,3],[1,5,2,3]],9,[9,[5,10,8],[1,9,0],4],5,5],[[],6,[0,[0,4],[9,8,5]],3],[],[[5],[7],3,0,1]]
[[[]],[[[5,6,10,6,9],8,7],[[7,8,8,1,9],9,[1]],4,[2,4,[3]],7],[[[],8,7,[0,4,0,9,0]],2],[4,3]]
[[[[9],0],[9,[0,4,8],3,8],[1,[],[]],[8,[],[10,4],[5,9]],[0,5]],[8,4,4,10,1],[4,[[7,7,2,4,3],[6,10],5,[]],[5,[6],9,4,[5,3,1,4,6]]],[[[2,0,4,7,6],4],[9,4,[7,3,10,10,10]],5,[[2,2,5,0]],[[6,4,2,0],[0,7,9,6,2]]]]
[[[1,8,[10,4,7,10],[2,7]],9,[],9],[[[6,4],9,[4,5,10,0],3]],[7,[[4,2,7,8,5],[3,1,2,6],[6,9,10,0,9],9,6],[[6,1,1]],[5,[1],3,[],[8,2,7,5]],9],[4]]
[[[3,[10,3,5,9],3,[8,5,2]],2],[9,[1,[5,5,2,3,3],3],[[5,2,3,10,2],3,1],[[2]]],[],[[[3,9,6],[]],1,[[7],[4,10,0,0,5]]]]
[[8,8],[]]
[[6,[],3,[9,4,1]],[],[],[3],[4]]
[[[6,3,10,[5,2,4],[6,4,8]],7,1,[[3,6,3],3,[0,8],[7,5]],[5]]]
[[9,0,6,[[6,7]]]]
[[],[4,6]]
[[[[],9],8,6,0,5]]
[[3,0,2],[8,2,0,[4,3,5,9],0],[1],[[[1,4,2,8],[8,4,5],[10,1]],[[0,1,3,8],0,[6,6]],[],0],[]]
[[0,[[5,3,2,10]]],[9,4]]
[[6,[4,[0],[2,6,6,0],9],[3,3,[2,7,9,10],9],4],[[4,[7,4],7,3,[4,3]],[],[5],0,[2,9,1,[]]],[[8]],[3],[10]]
[[[[2,8,3,4],2,[9,3],10,8],10,7,[0,2,3,4,[]]],[[[4,10,5,2,5],8,10,10],[[4,5,8,6,2],[4,4,5,4,5]],[]]]
[[3,[],5,[[10,4,8,7],2],[6,[],[6],[2]]],[[[5,6,1,0],[2,4,6,0]],[[7,3,9,8],[5,3,0,4,9],[7,4,1,9],5,6]],[[],[],8,[3,6,[8,6],[7],3],[[0],0]],[2],[[[8,6,4,2,2],[1],[10,3,6,2,0],[7,9]]]]
[[[7,7,6],6,2,[5,[3,10],[2,3]]]]
[[[2,[3,6,7],[],4,10],[5,2,[9]]],[[[1,3,0,3,6],10,[]],10,2,[[5,2,3],1]],[[2,8,2],7,4],[9],[1,2,[[4,10,8,0,7],6,8,[9,4,10,1,6]]]]
[[[],[7,5,[7,5],10,3],10,8],[8],[5,[[8,3,1,8,3]]],[9]]
[[[1,5],7,[]],[8,[[8,9],[]],[10,[9,0,6,3],5]],[],[],[6]]
[[[1,10,8],5,9,[8,8,[6,8,10,2]],6]]
[[[],4],[],[],[[2]]]
[[[1,6],7,[[],[0,1,3,4,6]]],[1],[]]
[[7,2],[4,[[4,5,7],1],[6,[2],[1,9,6,9,3]]],[8,9,4],[],[[3,[],2,[4,9]],3,10,[[0,5,6,1,10],7],8]]
[[7,3,3],[],[3,10,[],5,7]]
[[10,[6,[3,4,3],[5,8,0]],0,[[3,7,10],5]],[[7]],[1,7,[],[0,[9,2,0,10],[],2]],[[[2]]],[[[5],9,[1,4]],[[7,6,1],4,7],[[1],[8,4,2,0,4],[2,10,1,3,5],[6]],[]]]
[[[[0,4,9,10,0],[5,7],1],[[4],[5,7],3,[]],10]]
[[5,3,8,6],[[5,7,[7,6,6],9,0],10,1,[],7],[[6,[4,6,7],1,6],5,[[3,8,8,3,10],[4,10],[4],0],0]]
[[9],[6],[8,4],[[2]],[]]
[[[3,9],6,2,[[4,4,3,1,6],8,7,7,[4,7,7,6]]],[1,2],[[[5,4,6,3],[9],2,10],[[2],[9]],[[5,5,6,0,10],[0,5,3,5,9],3,2,6]]]
[[],[2,[],[[7,6,8,0],4],4],[7,4]]
[[5,[],[9],[[],[8,7,6],[1,0,4],[9,5,1],[3,2,1]],[[2,8,8,2],[9,1,4,4],[]]],[[]]]
[[],[6],[3],[]]
[[[[8,9,1],[7,4,4,3,1],9,1,[9,1]],9,5],[],[[],[[10,4,1,1],[4,7,4],9,[6],5]],[[[3,1,6],3,4,1,9],[],8,10,0],[]]
[[],[9,7],[7],[1,7,7],[[[2],8,[7],0],[4,[4,1],7,4,[10,3,7,8,4]],[1,0,5,[0]]]]
[[],[[4,[3,4],[5,1,3,7]],[[],3,[]]],[[0],[[2],[7,1]]],[5,1,[2],10]]
[[[9,5,[6,7,2],7,1],7,8],[[[3,3],[1]],9],[[5],2,[[],[5,3,5,9,3]]]]
[[[[6,6],7,[8,3,4,2],6,2],[[7,10]],9],[9,[3,8,[],5],4],[]]
[[3,4]]
[[1,[[],6,0,[2]],[4,[5,8],[],[0,1]]],[7,[[4,4,8,1,10],[]],4,[5,5,[8,10,8,4,10],10,[1,1,2,3,3]],6],[7,7,[[],3],6,10],[10,[7,[],6,10,5]],[0]]
[[[[9,3,7,2],3,9,1]],[6,[7,4,2,4,9],[],[8,10,8,[2,8,6,0,1]]],[3,7,0],[],[6,8]]
[[[]],[7,[],[9],3]]
[[],[[[]]],[[[7,4,10,9],[9]],8],[]]
[[4,8,2,[[6],8]]]
[[7,7,[[4,2,1,4]]],[[[0,6,0],6,10,0,[6,4]],4,[[2,10,4,1,10],[1],10],2,[0]],[]]
[[],[0,0,1],[[5,0,[]],[[],7,[5,10,5,8],[9,3,4,3,6]],[5,[],[8,4,1,8],[4,10,5]],0],[[],[5,9,8,8,9],0],[4,6,[0],[]]]
[[0,3],[6]]
[[[4],[7,6,[9,2,0],[6,6,6,0,10]],[[5]],4,6],[2,[[9,1,6],[10,3]],7]]
[[],[],[]]
[[2,8],[],[9]]
[[[[6]],[[],[3,5,3,7],5,2],[[1,9],[7,3]],[],[4,[],[],[5,5,8,4,8]]],[[9,[1]],8],[3],[[6,6,7,1],[],[10,4,8,7,6],7,[[6,7],[6,9,5],3,7,[2,9,0,6,4]]]]
[[[[],7,7,0,[0,6,5]],5,10,[[9,0,8,4,9],1,[5,6,5,9],2],[[4,3],[]]]]
[[[],[[4,3],8],0,9,[10,8,[1,3,6,2],8,1]],[0,2],[10,7,[[0,8,2],[],[3,3,6,0,7],7,6],0,[[8,2,9,2],3,4,3]]]
[[[6,3,[],6]],[3,10,[[6,1,6,0],[],[0,6,9],10,9],[[4,8],2],0]]
[[0],[[]],[[[3,1],8,8,[10,2,8,1],9],[[5,8,0,6],0,5,10],8,[[2]],5],[]]
[]
[[10,[[0,0],4]],[[10,4]]]
[[6,[[3,9],[9,7]],7,[[9,3,5,9,7],[1,10,9],[0,3,6],8,7]]]
[[4,9,10],[0,5,9]]
[[1,[[1,10,4]],[]],[]]
[[[[0],10,[6,10,5,3]],[[4,9,0],[],[5,1,3,10,7],[8],[7,5,3,5]]]]
[[[7],[[2,2],[]],[5,[7,1,10,10],6,8],4,8],[[]],[[3]],[3,[10,4],[]],[]]
[[5,[4],[1],8],[[[6,1,8],0],0,2,10]]
[[1,[[1],7,[2,2,2,10,0],2,10]],[2]]
[[10,7,4,6,[]],[[10,[4,8,4,9]],[[2],[2],[1,8,4]]],[[8],7],[6,[[4,1,9,0,9],9,4,[3],3],0,[[1,3,7,9],10,[10,3,2,4,3]],4],[[2,[]]]]
[[[[10,4]],5,4,2],[5,2,5,2,[]],[4,3,[]],[[],[2],2,5,[4,[8]]],[6]]
[3,2,1,7,4]
[3,2,1,7]
[[6,0,[8,[1,0,2,6,7],3]]]
[[9,[2,[9,8,3],[],[0],9],[[10,0],[9,7],2]]]
[[[],10,[[3],0,[2],[6]],[4,5,[10,10,2],[10,5,5],5],[[9,9,1,0,1]]],[[9,[10,9]],[[0],5,[9,5,5,8],[5,4,0,9,3]],[5,8]],[7,[7,5]]]
[[],[8,0,9]]
[[[10,1,[9,3],8,2],[5,4]]]
[[8,[1,[7],[],[],[0,9]],5],[],[0,[[3],[8]],[1,6,[8,6],[0,7,1]],[[1,0,10,2,5],10,1]]]
[[[[8,6],[8,9,0],1,[]],8,[6,4,4],10,6],[[3,[]],8],[[10],[7,0]],[10,6,5,[[5],[4,6,10,4,0],8,3],[[4],[4,2],[7,3,2,1],3,[4,6,6]]],[[[8,6,9]],1,[9,10,[8,3,7,8]],10]]
[[5,[3,[7,1,9,6],[6,4],5,[9,10,8,1,7]]],[],[]]
[[4,[[4,0,1,2],[],[6,4,0],[2,3]],8,[[4],[8,1,0,8],2]],[[[],0]],[],[7],[]]
[[[[],5,[3,7,9,6,7],[10,8,3,1]],[10,3,6,10,0],[0,5,[]],[],6],[],[4,[[8,3,8]],[[5,10,9],10,[7,1]],3],[]]
[[[10,[8,1],9]]]
[[8,[4],3,6,9],[1,0,[[0,9,1,10,9],[5,4,8,0,7],[3,5,5,8]],[[3,8],[9,3,7,0,3],3,[]],[8,7,3]],[4],[[]]]
[[10,[]],[8,7,[]],[[6]]]
[[[4,[3],1,[2],9],5,[5],3],[[[5,6,7],[],10,[5,6],[]],[5,3,8,[9,10,7]],[3,10,[7,10,5,4,1],[2,6,5,7,0],[2,1,0,1]],9],[[[8,7,3,8],[]],3,[8]]]

@ -2,72 +2,74 @@
#include "pixelGameEngine.h" #include "pixelGameEngine.h"
#include "olcutils.h" #include "olcutils.h"
#include "List.h" #include "List.h"
#include <cassert>
bool examineList(List*list1,List*list2){ enum status{
if (list1->index>=list1->elements.size()){ FALSE,
return true; TRUE,
} CONTINUE
};
status examineList(List*list1,List*list2){
std::cout<<"Examining "<<*list1<<" vs "<<*list2<<std::endl;
while (true) { while (true) {
if (list1->elements.size()>list2->elements.size()){ if (list2->index>=list2->elements.size()&&list1->elements.size()>list1->index){
return false; return FALSE;
} }
if (list1->elements[list1->index].list!=nullptr){ if (list1->index>=list1->elements.size()){
if (list2->elements[list2->index].list==nullptr){ if (list2->index>=list2->elements.size()){
//List 1: List return CONTINUE;
//List 2: Number }
List*prevPtr=list1; return TRUE;
while (list1->elements[list1->index].list!=nullptr){ }
list1=list1->elements[list1->index].list; Element e1=list1->elements[list1->index];
} Element e2=list2->elements[list2->index];
//Now we should be at a number. if (e1.list==nullptr&&e2.list==nullptr){
if (list1->elements[list1->index].number>list2->elements[list2->index].number){ if (e1.number<e2.number){
return false; return TRUE;
} } else if (e1.number>e2.number){
list1=prevPtr; return FALSE;
} else { }
//List 1: List } else
//List 2: List if (e1.list!=nullptr&&e2.list!=nullptr){
if (!examineList(list1->elements[list1->index].list,list2->elements[list2->index].list)){ status Result = examineList(e1.list,e2.list);
return false; if (Result!=CONTINUE){
} return Result;
} }
//It's a list.
} else { } else {
//Compare number. if (e1.list==nullptr){
if (list2->elements[list2->index].list==nullptr){ e1.list = new List();
//List 1: Number Element newE;
//List 2: Number newE.number=e1.number;
if (list1->elements[list1->index].number>list2->elements[list2->index].number){ e1.list->elements.push_back(newE);
return false; status Result = examineList(e1.list,e2.list);
} if (Result!=CONTINUE){
return Result;
}
} else { } else {
//List 1: Number e2.list = new List();
//List 2: List Element newE;
List*prevPtr=list2; newE.number=e2.number;
while (list2->elements[list2->index].list!=nullptr){ e2.list->elements.push_back(newE);
list2=list2->elements[list2->index].list; status Result = examineList(e1.list,e2.list);
} if (Result!=CONTINUE){
//Now we should be at a number. return Result;
if (list2->elements[list2->index].number<list1->elements[list1->index].number){ }
return false;
}
list2=prevPtr;
} }
} }
list1->index++; list1->index++;
list2->index++; list2->index++;
if (list1->index>=list1->elements.size()||list2->index>=list2->elements.size()){
break;
}
} }
return true; return TRUE; //Inputs are in the right order.
} }
using namespace olc; using namespace olc;
int main() int main()
{ {
std::ifstream file("testinput"); int sum=0;
std::ifstream file("input");
int index=1; int index=1;
std::vector<List*>lists;
while (file.good()){ while (file.good()){
std::string line; std::string line;
List*list1; List*list1;
@ -118,8 +120,10 @@ int main()
std::getline(file,line); std::getline(file,line);
std::cout<<"List 1: "<<*list1<<std::endl; std::cout<<"List 1: "<<*list1<<std::endl;
std::cout<<"List 2: "<<*list2<<std::endl; std::cout<<"List 2: "<<*list2<<std::endl;
int sum=0; bool passed=true;
bool passed=examineList(list1,list2); if (passed) {
passed=examineList(list1,list2);
}
if (passed){ if (passed){
sum+=index; sum+=index;
std::cout<<"Passed! Sum:"<<sum<<std::endl; std::cout<<"Passed! Sum:"<<sum<<std::endl;
@ -128,6 +132,7 @@ int main()
} }
index++; index++;
} }
std::cout<<"Sum: "<<sum<<std::endl;
return 0; return 0;
} }

2651
out

File diff suppressed because it is too large Load Diff

137
part1

@ -0,0 +1,137 @@
#define OLC_PGE_APPLICATION
#include "pixelGameEngine.h"
#include "olcutils.h"
#include "List.h"
#include <cassert>
enum status{
FALSE,
TRUE,
CONTINUE
};
status examineList(List*list1,List*list2){
std::cout<<"Examining "<<*list1<<" vs "<<*list2<<std::endl;
while (true) {
if (list2->index>=list2->elements.size()&&list1->elements.size()>list1->index){
return FALSE;
}
if (list1->index>=list1->elements.size()){
if (list2->index>=list2->elements.size()){
return CONTINUE;
}
return TRUE;
}
Element e1=list1->elements[list1->index];
Element e2=list2->elements[list2->index];
if (e1.list==nullptr&&e2.list==nullptr){
if (e1.number<e2.number){
return TRUE;
} else if (e1.number>e2.number){
return FALSE;
}
} else
if (e1.list!=nullptr&&e2.list!=nullptr){
status Result = examineList(e1.list,e2.list);
if (Result!=CONTINUE){
return Result;
}
} else {
if (e1.list==nullptr){
e1.list = new List();
Element newE;
newE.number=e1.number;
e1.list->elements.push_back(newE);
status Result = examineList(e1.list,e2.list);
if (Result!=CONTINUE){
return Result;
}
} else {
e2.list = new List();
Element newE;
newE.number=e2.number;
e2.list->elements.push_back(newE);
status Result = examineList(e1.list,e2.list);
if (Result!=CONTINUE){
return Result;
}
}
}
list1->index++;
list2->index++;
}
return TRUE; //Inputs are in the right order.
}
using namespace olc;
int main()
{
int sum=0;
std::ifstream file("input");
int index=1;
while (file.good()){
std::string line;
List*list1;
List*list2;
for (int j=0;j<2;j++){
std::getline(file,line);
List*startingList=new List();
List*currentList=nullptr;
for (int i=0;i<line.length();i++){
if (line[i]=='['){
//std::cout<<"Read "<<line[i]<<"...";
if (currentList==nullptr){
currentList=startingList;
} else {
List*newList=new List();
Element el;
el.list=newList;
newList->parent=currentList;
currentList->elements.push_back(el);
currentList=el.list;
}
} else
if (line[i]==']'){
//std::cout<<"Read "<<line[i]<<"...";
currentList=currentList->parent;
} else
if (line[i]==','){
//std::cout<<"Read "<<line[i]<<"...";
continue;
} else {//Assume it's a digit.
std::string acc="";
while (line[i]>='0'&&line[i]<='9'){
//std::cout<<"Read "<<line[i]<<"...";
acc+=line[i++];
}
Element el;
el.number=std::atoi(acc.c_str());
currentList->elements.push_back(el);
i--;
}
}
if (j==0){
list1=startingList;
} else {
list2=startingList;
}
}
std::getline(file,line);
std::cout<<"List 1: "<<*list1<<std::endl;
std::cout<<"List 2: "<<*list2<<std::endl;
bool passed=true;
if (passed) {
passed=examineList(list1,list2);
}
if (passed){
sum+=index;
std::cout<<"Passed! Sum:"<<sum<<std::endl;
} else {
std::cout<<"Failed"<<std::endl;
}
index++;
}
std::cout<<"Sum: "<<sum<<std::endl;
return 0;
}
Loading…
Cancel
Save