diff --git a/2021/2/1.py b/2021/2/1.py new file mode 100644 index 0000000..d89b310 --- /dev/null +++ b/2021/2/1.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 + +inputs = [i.rstrip().split(' ') for i in open("input").readlines()] + +depth = 0 +horiz = 0 + +for i in inputs: + inst = i[0] + qty = int(i[1]) + + if(inst == "forward"): horiz += qty + if(inst == "down"): depth += qty + if(inst == "up"): depth -= qty + +print(depth, horiz, depth*horiz) diff --git a/2021/2/2.py b/2021/2/2.py new file mode 100644 index 0000000..ec82e26 --- /dev/null +++ b/2021/2/2.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +inputs = [i.rstrip().split(' ') for i in open("input").readlines()] + +aim = 0 +depth = 0 +horiz = 0 + +for i in inputs: + inst = i[0] + qty = int(i[1]) + + if(inst == "forward"): + horiz += qty + depth += aim * qty + if(inst == "down"): aim += qty + if(inst == "up"): aim -= qty + +print(depth, horiz, depth*horiz) diff --git a/2021/2/example b/2021/2/example new file mode 100644 index 0000000..b7172ac --- /dev/null +++ b/2021/2/example @@ -0,0 +1,6 @@ +forward 5 +down 5 +forward 8 +up 3 +down 8 +forward 2 diff --git a/2021/2/input b/2021/2/input new file mode 100644 index 0000000..baee095 --- /dev/null +++ b/2021/2/input @@ -0,0 +1,1000 @@ +forward 4 +down 9 +forward 2 +forward 2 +down 7 +up 2 +down 9 +up 8 +down 7 +down 9 +forward 4 +up 6 +down 2 +down 5 +down 1 +down 5 +forward 2 +up 4 +forward 2 +forward 3 +up 2 +forward 6 +up 8 +forward 8 +down 8 +up 8 +down 7 +down 2 +down 9 +forward 2 +forward 9 +down 4 +forward 8 +up 6 +down 3 +up 9 +forward 1 +forward 6 +up 3 +forward 8 +up 9 +forward 1 +down 9 +down 3 +down 7 +up 2 +up 7 +down 5 +forward 3 +down 1 +up 6 +down 2 +forward 4 +down 6 +down 8 +forward 2 +down 5 +forward 6 +down 5 +down 7 +forward 8 +forward 2 +down 9 +up 4 +forward 6 +forward 4 +up 6 +down 9 +down 7 +down 9 +forward 9 +forward 8 +down 7 +up 7 +forward 9 +forward 8 +up 1 +up 4 +down 3 +forward 6 +up 6 +down 2 +up 3 +down 6 +down 5 +forward 8 +forward 3 +forward 8 +down 4 +down 4 +down 5 +forward 6 +down 5 +forward 6 +down 2 +down 5 +up 4 +down 8 +up 5 +forward 5 +forward 6 +down 9 +up 5 +down 2 +forward 5 +down 7 +up 7 +down 9 +forward 2 +down 3 +down 3 +forward 8 +up 5 +up 1 +forward 1 +forward 3 +down 5 +forward 8 +forward 7 +forward 8 +down 5 +down 8 +up 2 +forward 8 +forward 8 +down 7 +forward 1 +forward 7 +down 6 +up 4 +forward 7 +forward 7 +down 3 +up 7 +forward 2 +down 7 +down 4 +forward 5 +down 8 +forward 9 +down 7 +forward 5 +up 6 +up 6 +down 8 +down 3 +forward 5 +forward 3 +down 8 +up 7 +forward 8 +up 6 +down 2 +forward 4 +up 3 +up 3 +down 9 +down 9 +up 1 +up 7 +forward 2 +down 1 +forward 9 +up 7 +up 6 +down 2 +down 3 +forward 4 +down 3 +down 3 +down 1 +forward 4 +forward 8 +forward 6 +forward 3 +up 4 +up 5 +up 4 +forward 1 +up 3 +down 9 +up 6 +forward 2 +down 5 +down 1 +forward 8 +forward 2 +down 6 +up 5 +up 3 +forward 7 +forward 2 +forward 7 +up 9 +forward 3 +up 9 +forward 1 +down 9 +forward 9 +down 3 +down 3 +down 2 +forward 9 +forward 2 +up 3 +forward 3 +down 7 +down 3 +forward 2 +forward 1 +forward 6 +up 9 +forward 4 +down 9 +down 8 +up 3 +up 5 +forward 8 +down 9 +forward 5 +forward 4 +down 5 +up 4 +forward 7 +forward 3 +down 9 +forward 7 +down 2 +down 7 +forward 3 +up 3 +forward 7 +down 9 +down 4 +down 8 +forward 8 +down 6 +forward 9 +forward 4 +up 9 +down 9 +down 6 +up 7 +up 2 +forward 2 +forward 7 +down 7 +forward 9 +down 6 +down 2 +forward 4 +forward 8 +down 4 +forward 4 +forward 4 +forward 6 +up 6 +down 9 +down 3 +down 7 +up 2 +up 2 +forward 4 +down 4 +forward 6 +down 2 +down 2 +forward 1 +down 1 +forward 7 +up 5 +forward 9 +forward 8 +down 4 +forward 8 +down 5 +up 4 +down 8 +forward 4 +forward 7 +down 9 +down 3 +forward 6 +down 6 +forward 6 +down 9 +down 6 +forward 5 +forward 5 +up 9 +down 9 +down 9 +down 1 +down 5 +forward 5 +down 7 +forward 3 +down 6 +forward 5 +forward 8 +down 6 +forward 7 +down 5 +forward 4 +down 4 +down 9 +forward 3 +down 9 +down 9 +down 1 +up 7 +forward 4 +up 1 +up 1 +forward 1 +down 9 +up 8 +down 8 +down 3 +down 7 +forward 4 +down 5 +down 5 +forward 7 +forward 7 +forward 6 +up 2 +down 4 +forward 8 +forward 3 +forward 3 +forward 2 +forward 4 +up 9 +up 1 +forward 2 +forward 2 +forward 6 +down 9 +up 8 +forward 4 +forward 5 +forward 4 +down 4 +down 8 +forward 6 +down 8 +forward 9 +forward 8 +down 1 +down 2 +forward 2 +up 4 +up 7 +forward 5 +down 7 +down 5 +down 3 +up 7 +down 4 +forward 8 +up 8 +down 1 +down 2 +up 6 +up 8 +forward 9 +down 5 +down 2 +forward 5 +forward 4 +up 6 +forward 7 +down 3 +up 5 +up 9 +forward 5 +forward 1 +down 6 +down 7 +forward 9 +down 8 +down 2 +forward 9 +forward 2 +down 3 +forward 9 +down 3 +down 9 +up 3 +forward 7 +up 2 +up 5 +forward 3 +down 9 +up 1 +down 2 +down 4 +down 6 +forward 5 +forward 5 +up 7 +up 3 +down 1 +down 1 +up 8 +down 4 +forward 1 +down 4 +down 5 +down 9 +forward 7 +up 2 +up 1 +down 7 +forward 9 +forward 9 +forward 8 +forward 9 +down 5 +forward 9 +forward 9 +up 9 +down 7 +down 8 +forward 2 +forward 9 +down 1 +forward 3 +forward 8 +up 4 +down 4 +forward 4 +forward 3 +down 7 +down 3 +forward 6 +forward 9 +forward 1 +down 2 +up 3 +down 9 +forward 5 +forward 6 +forward 8 +up 2 +up 1 +down 3 +up 4 +forward 1 +up 9 +forward 4 +down 1 +up 2 +down 8 +down 9 +forward 3 +down 2 +up 5 +forward 2 +down 6 +down 5 +down 8 +down 3 +down 7 +down 2 +forward 8 +down 9 +up 7 +down 7 +down 7 +down 7 +forward 4 +forward 1 +forward 9 +up 9 +forward 5 +forward 8 +forward 7 +forward 7 +down 1 +forward 3 +down 7 +forward 2 +forward 4 +up 7 +forward 1 +down 5 +forward 5 +forward 1 +down 8 +forward 7 +forward 2 +up 3 +down 1 +up 7 +down 1 +down 2 +forward 9 +forward 6 +forward 3 +forward 2 +down 4 +forward 7 +forward 7 +forward 5 +forward 7 +forward 2 +down 9 +down 8 +forward 8 +forward 9 +down 3 +up 7 +up 1 +down 4 +forward 2 +forward 7 +forward 3 +forward 9 +up 2 +down 3 +forward 4 +down 8 +down 6 +down 4 +down 6 +down 7 +forward 9 +down 9 +forward 8 +down 1 +down 1 +forward 1 +forward 1 +down 7 +down 3 +down 3 +forward 2 +down 7 +forward 8 +up 7 +down 5 +forward 7 +forward 9 +down 2 +forward 9 +forward 3 +forward 9 +forward 9 +down 3 +forward 1 +forward 7 +up 8 +forward 7 +forward 4 +forward 5 +forward 6 +down 4 +up 3 +down 5 +up 8 +up 5 +up 6 +forward 1 +down 1 +up 8 +down 8 +down 5 +forward 8 +up 9 +down 8 +forward 2 +up 6 +forward 3 +down 3 +down 8 +down 4 +forward 6 +forward 2 +down 9 +up 9 +down 2 +down 9 +up 1 +down 6 +up 2 +down 9 +forward 8 +forward 3 +forward 6 +down 6 +up 9 +up 8 +forward 4 +down 2 +forward 5 +up 4 +up 4 +down 5 +down 9 +forward 3 +down 1 +forward 1 +forward 6 +forward 2 +down 7 +forward 7 +up 5 +forward 2 +down 8 +forward 5 +down 1 +down 7 +forward 7 +down 4 +forward 7 +forward 2 +down 6 +forward 9 +forward 4 +up 3 +forward 8 +forward 2 +up 6 +up 3 +forward 9 +forward 4 +down 2 +forward 6 +down 1 +forward 5 +down 2 +up 1 +down 1 +forward 2 +forward 4 +down 7 +up 6 +forward 4 +forward 7 +up 8 +forward 3 +down 8 +forward 7 +down 2 +down 5 +forward 3 +forward 7 +down 5 +forward 2 +forward 8 +up 6 +forward 8 +down 7 +up 3 +down 2 +forward 2 +down 8 +down 2 +up 5 +up 1 +forward 6 +down 1 +forward 2 +down 1 +forward 6 +forward 9 +down 9 +down 8 +down 3 +forward 5 +forward 3 +down 3 +down 1 +forward 4 +forward 8 +forward 2 +down 7 +forward 9 +forward 4 +down 4 +forward 6 +down 4 +forward 8 +down 8 +down 2 +up 7 +down 9 +down 5 +up 4 +down 3 +up 5 +forward 8 +down 4 +down 6 +forward 1 +up 2 +down 6 +forward 4 +down 8 +forward 1 +up 7 +forward 6 +up 2 +forward 1 +down 8 +down 2 +forward 3 +down 3 +down 2 +up 9 +down 3 +down 4 +down 3 +forward 9 +down 6 +forward 8 +forward 8 +down 1 +forward 8 +down 5 +up 9 +up 5 +up 5 +forward 5 +forward 4 +down 7 +down 6 +forward 9 +up 4 +forward 7 +up 5 +forward 7 +down 5 +down 3 +forward 5 +down 8 +up 3 +forward 4 +up 2 +down 1 +down 6 +down 6 +up 3 +forward 5 +forward 8 +down 2 +forward 6 +down 5 +down 4 +forward 9 +down 6 +forward 6 +up 5 +forward 4 +forward 5 +forward 1 +up 6 +up 2 +down 8 +up 4 +up 2 +down 3 +forward 4 +down 5 +forward 8 +up 5 +forward 6 +forward 9 +down 6 +down 3 +up 3 +down 2 +up 9 +forward 5 +up 5 +forward 3 +forward 2 +down 5 +up 2 +down 5 +forward 8 +forward 2 +down 1 +up 2 +down 6 +up 8 +down 3 +down 2 +forward 2 +down 1 +forward 8 +forward 2 +up 6 +forward 6 +up 3 +up 8 +up 2 +up 4 +down 7 +forward 6 +down 3 +down 2 +forward 5 +down 7 +down 6 +forward 1 +down 4 +forward 4 +up 1 +down 3 +up 3 +down 4 +forward 1 +down 2 +forward 6 +down 7 +forward 3 +forward 1 +forward 5 +down 7 +down 9 +forward 7 +forward 2 +forward 7 +forward 8 +down 1 +down 1 +up 6 +forward 2 +up 7 +down 9 +up 4 +up 9 +forward 9 +forward 6 +down 3 +down 9 +forward 1 +forward 1 +up 8 +forward 6 +forward 1 +forward 9 +down 2 +down 1 +forward 2 +forward 9 +down 9 +down 6 +forward 5 +down 6 +forward 4 +down 3 +forward 1 +down 4 +up 5 +forward 6 +forward 3 +down 2 +up 3 +down 9 +down 2 +forward 1 +down 4 +up 2 +down 6 +forward 6 +forward 7 +forward 3 +forward 9 +up 7 +up 2 +forward 2 +up 2 +forward 1 +up 2 +forward 8 +forward 5 +down 6 +up 7 +down 4 +down 1 +up 8 +forward 1 +down 3 +up 8 +forward 8 +down 6 +down 1 +down 6 +forward 1 +forward 7 +up 3 +forward 6 +forward 1 +up 3 +down 5 +down 1 +forward 5 +down 5 +up 7 +up 3 +down 6 +forward 6 +up 7 +forward 5 +forward 2 +forward 1 +down 8 +forward 3 +down 3 +forward 5 +down 4 +up 4 +down 8 +down 7 +down 7 +up 9 +up 2 +down 4 +down 1 +down 4 +forward 9 +up 8 +up 4 +down 2 +forward 8 +forward 1 +down 2 +up 5 +down 3 +down 8 +down 8 +down 6 +down 5 +forward 7 +down 3 +forward 5 +down 6 +down 9 +down 2 +forward 8 +down 4 +up 2 +forward 4 +down 8 +down 5 +down 4 +forward 2 +up 3 +forward 4 +up 3 +down 8 +down 2 +up 8 +forward 4 +forward 6 +down 3 +forward 9 +forward 6 +forward 8 +forward 5 +forward 1 +forward 5 +down 3 +up 2 +forward 4 +down 4 +down 3 +forward 1 +forward 3 +forward 7 +forward 9 +down 2 +up 4 +down 3 +up 8 +forward 9 +down 5 +up 9 +down 1 +up 4 +forward 7 +forward 2 +forward 4 +up 8 +down 4 +down 1 +forward 8 +down 4 +down 7 +up 1 +down 3 +down 2 +forward 5 +up 6 +down 7 +forward 2