aboutsummaryrefslogtreecommitdiff
path: root/2025/07
diff options
context:
space:
mode:
Diffstat (limited to '2025/07')
-rw-r--r--2025/07/a.py2
-rw-r--r--2025/07/b.py2
-rw-r--r--2025/07/b2.py17
3 files changed, 19 insertions, 2 deletions
diff --git a/2025/07/a.py b/2025/07/a.py
index 0e13b75..53ff68c 100644
--- a/2025/07/a.py
+++ b/2025/07/a.py
@@ -2,9 +2,9 @@ import fileinput
2 2
3with fileinput.input() as lines: 3with fileinput.input() as lines:
4 rows = [line[:-1] for line in lines] 4 rows = [line[:-1] for line in lines]
5 pos = [rows[0].find('S')]
6 5
7s = 0 6s = 0
7pos = [rows[0].find('S')]
8for row in rows[1:]: 8for row in rows[1:]:
9 newpos = set() 9 newpos = set()
10 for p in pos: 10 for p in pos:
diff --git a/2025/07/b.py b/2025/07/b.py
index 41c0db0..4457654 100644
--- a/2025/07/b.py
+++ b/2025/07/b.py
@@ -2,8 +2,8 @@ import fileinput
2 2
3with fileinput.input() as lines: 3with fileinput.input() as lines:
4 rows = [line[:-1] for line in lines] 4 rows = [line[:-1] for line in lines]
5 pos = {rows[0].find('S'): 1}
6 5
6pos = {rows[0].find('S'): 1}
7for row in rows[1:]: 7for row in rows[1:]:
8 newpos = {} 8 newpos = {}
9 for p, w in pos.items(): 9 for p, w in pos.items():
diff --git a/2025/07/b2.py b/2025/07/b2.py
new file mode 100644
index 0000000..b77188c
--- /dev/null
+++ b/2025/07/b2.py
@@ -0,0 +1,17 @@
1import fileinput
2
3with fileinput.input() as lines:
4 rows = [line[:-1] for line in lines]
5
6t = [1 if x == 'S' else 0 for x in rows[0]]
7for row in rows[1:]:
8 next = [0] * len(row)
9 for i in range(len(row)):
10 if row[i] == '^':
11 next[i-1] += t[i]
12 next[i+1] += t[i]
13 else:
14 next[i] += t[i]
15 t = next
16
17print(sum(t))

Generated with cgit - Back to sebastiano.tronto.net