aboutsummaryrefslogtreecommitdiff
path: root/2025
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-12-03 06:22:35 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2025-12-03 06:22:35 +0100
commit39e9d936f52c7626884d1ca4c5262b117b0dc85c (patch)
tree02bd60816e10f0f9253d89d10755388c03eaa01c /2025
parentd662d817052767047807f8f1d5643608b9943fa0 (diff)
downloadaoc-39e9d936f52c7626884d1ca4c5262b117b0dc85c.tar.gz
aoc-39e9d936f52c7626884d1ca4c5262b117b0dc85c.zip
Day 3 2025
Diffstat (limited to '2025')
-rw-r--r--2025/03/a.py16
-rw-r--r--2025/03/b.py18
2 files changed, 32 insertions, 2 deletions
diff --git a/2025/03/a.py b/2025/03/a.py
index 5fdb11b..9f4db62 100644
--- a/2025/03/a.py
+++ b/2025/03/a.py
@@ -1,6 +1,18 @@
1import fileinput 1import fileinput
2 2
3s = 0
3with fileinput.input() as lines: 4with fileinput.input() as lines:
4 for line in lines: 5 for line in lines:
5 ... 6 m1 = 0
6 7 m2 = 0
8 mi = -1
9 for i in range(len(line)-2):
10 if int(line[i]) > m1:
11 m1 = int(line[i])
12 mi = i
13 for i in range(mi+1, len(line)-1):
14 if int(line[i]) > m2:
15 m2 = int(line[i])
16 print(10*m1+m2)
17 s += 10*m1+m2
18print(s)
diff --git a/2025/03/b.py b/2025/03/b.py
new file mode 100644
index 0000000..4c74ae6
--- /dev/null
+++ b/2025/03/b.py
@@ -0,0 +1,18 @@
1import fileinput
2from functools import cache
3
4neginf = -1e13
5
6@cache
7def joltage(line, n):
8 if n == 0:
9 return 0
10 if n > len(line)-1:
11 return neginf
12 j = 0
13 for i in range(len(line)-1):
14 j = max(j, int(line[i])*10**(n-1)+joltage(line[i+1:],n-1))
15 return j
16
17with fileinput.input() as lines:
18 print(sum(joltage(line, 12) for line in lines))

Generated with cgit - Back to sebastiano.tronto.net