From 05d5afb18e4bcf733f2c86e8b591adf8a907f9a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Sat, 9 Dec 2023 13:14:43 +0100 Subject: aoc9 --- prog/aoc/23/9/1.py | 32 ++++++++++++++++++++++++++++++++ prog/aoc/23/9/in.txt | 3 +++ 2 files changed, 35 insertions(+) create mode 100755 prog/aoc/23/9/1.py create mode 100644 prog/aoc/23/9/in.txt diff --git a/prog/aoc/23/9/1.py b/prog/aoc/23/9/1.py new file mode 100755 index 0000000..3d16c5c --- /dev/null +++ b/prog/aoc/23/9/1.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 +data = [] +try: + while True: + data.append([[x for x in map(int, input().split(" "))]]) +except EOFError: + pass +s = 0 +for d in data: + while len(set(d[-1])) != 1 or d[-1][0] != 0: + r = [] + for idx in range(len(d[-1])-1): + r.append(d[-1][idx+1]-d[-1][idx]) + d.append(r) + for idx in range(len(d)): + if idx == 0: + d[-1].append(0) + continue + idx = -idx-1 + d[idx].append(d[idx][-1]+d[idx+1][-1]) + s += d[0][-1] +print(s) +s2 = 0 +for d in data: + for idx in range(len(d)): + if idx == 0: + d[-1].insert(0, 0) + continue + idx = -idx-1 + d[idx].insert(0, d[idx][0]-d[idx+1][0]) + s2 += d[0][0] +print(s2) diff --git a/prog/aoc/23/9/in.txt b/prog/aoc/23/9/in.txt new file mode 100644 index 0000000..539a763 --- /dev/null +++ b/prog/aoc/23/9/in.txt @@ -0,0 +1,3 @@ +0 3 6 9 12 15 +1 3 6 10 15 21 +10 13 16 21 30 45 -- cgit v1.2.3