diff --git a/2/a.py b/2/a.py new file mode 100644 index 0000000..6dce00a --- /dev/null +++ b/2/a.py @@ -0,0 +1,19 @@ +with open("input.txt") as f: + lines = [i for i in f.readlines()] + + +depth = 0 +hpos = 0 + +for line in lines: + verb, val = line.strip().split() + val = int(val) + + if verb == "forward": + hpos += val + elif verb == "down": + depth += val + elif verb == "up": + depth -= val + +print(depth * hpos) diff --git a/2/b.py b/2/b.py new file mode 100644 index 0000000..1513068 --- /dev/null +++ b/2/b.py @@ -0,0 +1,24 @@ +with open("input.txt") as f: + lines = [i for i in f.readlines()] + + +depth = 0 +hpos = 0 +aim = 0 + + +for line in lines: + verb, val = line.strip().split() + val = int(val) + + if verb == "forward": + hpos += val + depth += (aim * val) + elif verb == "down": + aim += val + elif verb == "up": + aim -= val + +print(depth * hpos) + +# 5m16s diff --git a/2/input.txt b/2/input.txt new file mode 100644 index 0000000..d61291a --- /dev/null +++ b/2/input.txt @@ -0,0 +1,1000 @@ +forward 2 +down 9 +up 6 +forward 1 +down 5 +down 7 +down 9 +forward 9 +down 8 +up 7 +forward 2 +up 6 +forward 4 +down 5 +down 9 +up 1 +down 9 +forward 8 +forward 6 +forward 6 +forward 5 +forward 9 +up 3 +up 5 +forward 1 +down 4 +down 7 +forward 2 +up 3 +down 8 +forward 1 +down 2 +forward 3 +up 1 +up 1 +up 7 +forward 5 +up 8 +forward 8 +forward 8 +down 6 +forward 1 +forward 5 +forward 4 +forward 6 +forward 5 +down 6 +down 9 +forward 9 +down 8 +forward 6 +down 5 +forward 9 +up 3 +up 1 +down 8 +down 7 +down 9 +forward 7 +down 8 +down 9 +down 5 +down 3 +forward 1 +forward 6 +down 1 +forward 9 +down 5 +forward 7 +up 2 +down 8 +forward 1 +down 4 +down 9 +down 4 +up 5 +forward 4 +forward 6 +forward 1 +down 3 +forward 1 +down 6 +up 5 +up 4 +forward 6 +forward 1 +forward 1 +down 2 +up 4 +up 3 +up 2 +up 6 +down 6 +forward 1 +down 8 +forward 1 +up 6 +forward 7 +down 5 +forward 4 +forward 6 +down 4 +forward 4 +down 4 +down 4 +forward 2 +forward 8 +down 5 +down 1 +down 8 +up 5 +up 8 +down 5 +forward 4 +down 6 +up 7 +forward 2 +down 3 +forward 2 +forward 2 +down 9 +down 3 +up 6 +forward 8 +up 2 +up 9 +forward 4 +down 1 +down 5 +forward 4 +down 2 +down 3 +forward 5 +down 4 +forward 7 +up 4 +forward 6 +up 8 +forward 1 +up 9 +down 4 +forward 2 +down 1 +forward 7 +down 3 +down 2 +forward 5 +down 3 +down 9 +down 9 +up 5 +forward 2 +down 8 +up 9 +forward 4 +down 3 +forward 3 +forward 6 +up 2 +forward 3 +down 1 +down 1 +down 1 +forward 7 +forward 4 +forward 7 +down 5 +down 6 +down 2 +forward 6 +down 3 +up 6 +forward 4 +down 8 +up 1 +forward 8 +down 2 +down 5 +forward 4 +down 9 +forward 2 +forward 2 +down 3 +forward 3 +down 1 +forward 2 +down 7 +forward 3 +forward 9 +up 9 +forward 6 +forward 2 +down 1 +down 5 +forward 6 +forward 6 +down 3 +up 3 +forward 9 +down 7 +down 2 +down 4 +down 7 +forward 5 +up 4 +forward 8 +down 5 +forward 7 +down 7 +up 7 +down 8 +forward 9 +up 5 +forward 1 +down 2 +forward 5 +down 9 +forward 3 +down 5 +forward 8 +forward 3 +up 5 +down 2 +up 3 +forward 2 +up 1 +up 5 +down 8 +forward 2 +down 5 +up 4 +up 5 +up 2 +forward 9 +forward 6 +down 9 +up 9 +forward 6 +forward 4 +forward 3 +forward 7 +up 1 +down 2 +down 6 +down 1 +forward 8 +down 1 +forward 6 +down 8 +forward 8 +down 7 +down 6 +down 5 +forward 2 +up 8 +up 6 +up 5 +down 1 +forward 1 +down 1 +down 5 +forward 7 +forward 3 +down 1 +forward 5 +forward 5 +forward 8 +down 1 +up 2 +down 6 +up 6 +forward 6 +forward 6 +down 3 +forward 9 +up 4 +forward 4 +down 6 +up 1 +forward 6 +down 2 +down 5 +down 2 +down 6 +up 5 +down 1 +down 1 +forward 3 +forward 7 +forward 3 +up 2 +down 8 +down 4 +down 1 +down 5 +down 1 +down 9 +forward 6 +down 6 +down 4 +down 6 +down 8 +forward 4 +down 6 +down 7 +forward 8 +down 4 +up 4 +down 1 +forward 1 +forward 4 +forward 1 +up 9 +down 7 +forward 7 +down 4 +forward 1 +up 4 +forward 4 +down 5 +down 7 +forward 5 +forward 7 +forward 1 +forward 1 +forward 9 +forward 9 +up 3 +forward 4 +down 2 +forward 9 +up 8 +forward 3 +up 5 +down 3 +down 8 +forward 8 +down 6 +forward 1 +down 6 +down 6 +up 9 +down 2 +forward 8 +up 9 +down 7 +up 9 +up 8 +up 1 +forward 6 +forward 9 +down 2 +forward 8 +down 1 +up 4 +forward 4 +forward 7 +up 2 +forward 4 +down 5 +forward 3 +down 2 +down 7 +down 4 +down 2 +up 5 +down 5 +down 5 +down 4 +up 1 +forward 7 +down 6 +forward 5 +forward 1 +down 4 +up 9 +down 5 +forward 7 +forward 5 +down 6 +down 3 +down 9 +down 1 +forward 6 +up 2 +down 7 +down 3 +down 6 +up 3 +down 4 +down 4 +forward 9 +down 3 +forward 2 +down 9 +down 8 +up 4 +down 2 +forward 2 +down 5 +down 4 +down 4 +down 2 +forward 6 +down 3 +forward 1 +down 4 +forward 7 +down 5 +up 4 +down 6 +forward 8 +down 6 +forward 2 +forward 4 +forward 5 +forward 7 +forward 4 +forward 5 +down 8 +down 7 +forward 3 +forward 5 +up 7 +forward 1 +down 4 +forward 5 +forward 4 +forward 4 +down 5 +down 8 +forward 8 +down 1 +down 1 +down 5 +up 5 +forward 6 +down 6 +forward 3 +forward 4 +forward 7 +forward 4 +down 8 +forward 2 +down 4 +forward 4 +down 1 +up 2 +forward 6 +up 1 +down 7 +down 9 +forward 7 +forward 2 +up 3 +down 2 +down 9 +down 5 +up 7 +forward 1 +forward 8 +down 8 +up 3 +down 3 +forward 9 +up 4 +down 5 +up 5 +down 1 +up 8 +forward 9 +down 3 +up 6 +forward 6 +forward 1 +down 1 +forward 9 +down 8 +forward 8 +down 6 +up 9 +down 4 +up 3 +up 9 +forward 2 +down 2 +down 2 +forward 3 +down 2 +forward 5 +forward 4 +up 8 +forward 9 +up 7 +forward 2 +down 5 +down 6 +forward 8 +up 7 +forward 4 +forward 3 +up 5 +down 8 +forward 3 +up 2 +down 3 +forward 6 +down 9 +down 2 +down 6 +down 2 +forward 7 +forward 5 +forward 7 +down 8 +forward 2 +down 2 +forward 8 +up 8 +forward 4 +forward 3 +up 5 +down 3 +forward 3 +up 8 +up 7 +down 4 +down 1 +forward 2 +down 1 +up 6 +up 4 +down 3 +up 1 +forward 7 +forward 7 +forward 7 +forward 8 +down 1 +forward 5 +down 6 +forward 9 +forward 7 +forward 7 +down 4 +up 4 +down 6 +down 9 +up 4 +up 2 +up 6 +forward 4 +up 4 +up 6 +down 2 +forward 4 +down 9 +forward 9 +forward 9 +down 1 +forward 7 +down 2 +down 7 +down 8 +down 8 +down 9 +up 9 +down 5 +forward 5 +forward 7 +forward 4 +down 7 +forward 8 +forward 1 +down 8 +up 9 +down 7 +forward 9 +forward 4 +forward 8 +down 9 +forward 4 +down 3 +forward 3 +down 1 +down 1 +down 2 +up 5 +down 2 +down 1 +down 8 +forward 3 +up 2 +forward 7 +down 3 +down 8 +down 1 +forward 4 +forward 7 +down 5 +forward 6 +down 6 +down 2 +forward 6 +down 3 +up 4 +down 7 +forward 7 +up 1 +up 9 +down 1 +down 2 +down 8 +down 7 +up 1 +forward 7 +down 2 +forward 4 +forward 6 +forward 9 +down 6 +forward 2 +up 8 +down 2 +up 2 +up 5 +down 8 +up 6 +down 9 +forward 6 +down 8 +down 6 +down 1 +up 7 +up 6 +down 8 +forward 2 +up 7 +forward 5 +forward 7 +forward 7 +up 5 +forward 2 +down 9 +up 2 +up 8 +up 2 +down 3 +down 7 +forward 9 +down 3 +up 9 +forward 8 +up 8 +forward 4 +forward 8 +forward 6 +up 1 +down 3 +up 1 +down 1 +forward 2 +forward 1 +forward 4 +forward 7 +up 8 +down 9 +up 2 +down 7 +forward 4 +down 3 +forward 4 +forward 2 +down 9 +forward 8 +forward 5 +forward 3 +down 6 +forward 4 +forward 4 +forward 9 +forward 4 +up 5 +down 7 +up 6 +forward 5 +down 5 +forward 4 +down 5 +forward 7 +forward 3 +forward 5 +down 5 +forward 4 +down 5 +up 4 +down 8 +up 3 +down 3 +up 5 +forward 4 +forward 5 +down 6 +forward 6 +forward 1 +forward 8 +down 6 +down 9 +up 5 +forward 2 +forward 8 +up 6 +down 6 +forward 2 +down 8 +forward 7 +forward 7 +down 5 +forward 5 +forward 8 +forward 1 +down 4 +down 2 +down 5 +up 4 +forward 3 +forward 5 +down 4 +down 7 +down 4 +up 9 +up 6 +forward 1 +down 8 +up 8 +up 9 +forward 2 +forward 1 +down 6 +forward 6 +down 4 +forward 7 +up 2 +up 1 +forward 4 +down 1 +forward 8 +forward 3 +up 7 +up 5 +down 1 +forward 8 +forward 6 +up 6 +forward 9 +down 5 +down 9 +forward 2 +down 3 +up 1 +up 7 +down 1 +forward 8 +up 9 +down 1 +down 5 +down 7 +down 5 +down 5 +down 5 +up 9 +forward 9 +forward 7 +forward 4 +forward 6 +down 5 +down 3 +forward 9 +forward 1 +down 1 +down 8 +up 4 +down 9 +forward 9 +up 1 +down 5 +forward 8 +up 6 +forward 3 +down 6 +up 8 +down 7 +forward 3 +forward 6 +down 7 +forward 6 +forward 4 +forward 4 +down 4 +forward 6 +forward 5 +down 6 +forward 6 +down 7 +forward 6 +forward 3 +up 4 +up 2 +up 6 +down 2 +down 8 +forward 5 +forward 1 +up 4 +forward 7 +forward 9 +up 6 +down 7 +down 3 +up 5 +forward 5 +down 8 +up 1 +down 1 +down 3 +down 2 +down 1 +forward 5 +down 3 +down 5 +forward 7 +forward 9 +down 3 +forward 7 +forward 5 +forward 4 +forward 2 +forward 7 +forward 8 +forward 6 +down 8 +forward 5 +forward 6 +forward 6 +down 8 +down 2 +forward 4 +down 7 +forward 6 +down 7 +down 4 +forward 6 +up 6 +forward 4 +forward 9 +forward 2 +forward 3 +forward 1 +down 8 +down 3 +forward 4 +up 3 +forward 7 +forward 1 +down 7 +down 8 +forward 1 +up 8 +forward 8 +up 8 +down 5 +forward 6 +down 8 +down 4 +down 9 +up 1 +down 3 +forward 6 +down 6 +forward 7 +forward 3 +down 6 +down 6 +forward 4 +down 4 +down 1 +down 8 +forward 2 +forward 8 +forward 8 +down 6 +forward 9 +down 9 +down 5 +down 5 +forward 7 +down 1 +forward 1 +down 1 +down 6 +down 1 +forward 1 +up 6 +up 9 +forward 5 +down 6 +forward 8 +forward 6 +down 7 +forward 1 +forward 4 +forward 9 +forward 2 +forward 4 +down 2 +forward 1 +forward 8 +down 1 +down 1 +forward 4 +down 5 +down 3 +down 9 +down 2 +up 8 +down 7 +down 1 +down 9 +forward 2 +forward 2 +up 3 +forward 3 +down 3 +forward 5 +forward 9 +down 7 +up 7 +down 9 +forward 3 +forward 7 +down 1 +forward 8 +down 8 +forward 1 +down 8 +down 6 +forward 2 +down 3 +down 1 +down 8 +forward 3 +up 5 +down 7 +up 2 +up 8 +forward 5 +up 7 +down 6 +up 7 +down 9 +forward 5 +up 4 +forward 9 +down 5 +up 7 +down 2 +up 2 +up 7 +forward 5 +down 6 +forward 4 +down 4 +down 3 +forward 2 +up 2 +down 5 +forward 8 +down 3 +up 7 +down 1 +down 7 +forward 7 +forward 4 +forward 7 +down 2 +down 9 +down 6 +down 9 +down 2 +down 9 +down 7 +down 5 +forward 4 +up 5 +up 7 +forward 2 +forward 7 +down 3 +down 3 +forward 4