Taddeus Kroes před 2 měsíci
rodič
revize
b62523166e
2 změnil soubory, kde provedl 22 přidání a 0 odebrání
  1. 22 0
      2025/06_math.py
  2. 0 0
      2025/input/6

+ 22 - 0
2025/06_math.py

@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+import sys
+from functools import reduce
+from operator import add, mul
+
+def parse(f):
+    lines = f.readlines()
+    indices, ops = zip(*((i, (add, mul)['+*'.index(char)])
+                         for i, char in enumerate(lines.pop())
+                         if char in '+*'))
+    indices += (len(lines[-1]),)
+    for i, op in enumerate(ops):
+        start, end = indices[i:i + 2]
+        nums = tuple(line[start:end - 1] for line in lines)
+        yield op, nums
+
+def transpose(nums):
+    return tuple(int(''.join(n)) for n in zip(*nums))
+
+ops = list(parse(sys.stdin))
+print(sum(reduce(op, map(int, nums)) for op, nums in ops))
+print(sum(reduce(op, transpose(nums)) for op, nums in ops))

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
2025/input/6


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů